1
|
{"testsCollection":{"name":"Chapter - ch15","numTests":"7924","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjEvMTUuMS4xLjEtMC5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbC5OYU4gaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9iamVjdCgpLCAnTmFOJyk7DQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjIvMTUuMS4xLjItMC5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbC5JbmZpbml0eSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICdJbmZpbml0eScpOw0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjMvMTUuMS4xLjMtMC5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbC51bmRlZmluZWQgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9iamVjdCgpLCAndW5kZWZpbmVkJyk7DQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvMTUuMS4yLjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gcGFyZXNlSW50IC0gJ1MnIGlzIHRoZSBlbXB0eSBzdHJpbmcgd2hlbiBpbnB1dFN0cmluZyBkb2VzIG5vdCBjb250YWluIGFueSBzdWNoIGNoYXJhY3RlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gaXNOYU4ocGFyc2VJbnQoIiIpKSAmJiBwYXJzZUludCgiIikgIT09IHBhcnNlSW50KCIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjMvMTUuMS4yLjMtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gcGFyZXNlRmxvYXQgLSAndHJpbW1lZFN0cmluZycgaXMgdGhlIGVtcHR5IHN0cmluZyB3aGVuIGlucHV0U3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gYW55IHN1Y2ggY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBpc05hTihwYXJzZUZsb2F0KCIiKSkgJiYgcGFyc2VGbG9hdCgiIikgIT09IHBhcnNlRmxvYXQoIiIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDB4eHh4eHh4eCAoWzB4MDAgLSAweDdGXSksIHdpdGhvdXQgW3VyaVJlc2VydmVkLCAjXSwgcmV0dXJuIEIxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CnZhciB1cmlSZXNlcnZlZCA9IFsiOyIsICIvIiwgIj8iLCAiOiIsICJAIiwgIiYiLCAiPSIsICIrIiwgIiQiLCAiLCJdOwpsOgpmb3IgKHZhciBpbmRleEIxID0gMHgwMDsgaW5kZXhCMSA8PSAweDdGOyBpbmRleEIxKyspIHsgICAgICAgCiAgY291bnQrKzsKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7ICAKICB2YXIgaW5kZXggPSBpbmRleEIxOyAgCiAgdHJ5IHsKICAgIHZhciBoZXggPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpUmVzZXJ2ZWQubGVuZ3RoOyBpbmRleEMrKykgeyAgICAKICAgICAgaWYgKGhleCA9PT0gdXJpUmVzZXJ2ZWRbaW5kZXhDXSkgY29udGludWUgbDsgICAgICAgIAogICAgfSAKICAgIGlmIChoZXggPT09ICIjIikgY29udGludWUgbDsKICAgIGlmIChkZWNvZGVVUkkoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpKSA9PT0gaGV4KSBjb250aW51ZTsKICB9IGNhdGNoIChlKSB7fSAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMHh4eHh4IChbMHhDMCAtIDB4REZdKSwgQjIgPSAxMHh4eHh4eCAoWzB4ODAgLSAweEJGKSwgd2l0aG91dCBCMSA9IFsweEMwLCAweEMxXSwgcmV0dXJuIFVURjgoQjEsIEIyKQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXhCMSA9IDB4QzI7IGluZGV4QjEgPD0gMHhERjsgaW5kZXhCMSsrKSB7ICAgICAKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7CiAgZm9yICh2YXIgaW5kZXhCMiA9IDB4ODA7IGluZGV4QjIgPD0gMHhCRjsgaW5kZXhCMisrKSB7CiAgICBjb3VudCsrOwogICAgdmFyIGhleEIyID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjIpOwogICAgdmFyIGluZGV4ID0gKGluZGV4QjEgJiAweDFGKSAqIDB4NDAgKyAoaW5kZXhCMiAmIDB4M0YpOyAgCiAgICB0cnkgewogICAgICBpZiAoZGVjb2RlVVJJKCIlIiArIGhleEIxLnN1YnN0cmluZygyKSArICIlIiArIGhleEIyLnN1YnN0cmluZygyKSkgPT09IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKSBjb250aW51ZTsKICAgIH0gY2F0Y2ggKGUpIHt9ICAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTB4eHh4IChbMHhFMCAtIDB4RUZdKSwgQjIsIEIzID0gMTB4eHh4eHh4IChbMHg4MCAtIDB4QkZdKSwgd2l0aG91dCBbQjEsIEIyXSA9IFsweEUwLCAweDgwIC0gMHg5Rl0sIFsweEVELCAweEEwIC0gMHhCRl0gKDB4RDgwMCAtIDB4REZGRiksIHJldHVybiBVVEY4KEIxLCBCMiwgQjMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIxID0gMHhFMDsgaW5kZXhCMSA8PSAweEVGOyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKHZhciBpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGlmICgoaW5kZXhCMSA9PT0gMHhFMCkgJiYgKGluZGV4QjIgPD0gMHg5RikpIGNvbnRpbnVlOwogICAgaWYgKChpbmRleEIxID09PSAweEVEKSAmJiAoMHhBMCA8PSBpbmRleEIyKSkgY29udGludWU7ICAgICAgICAgCiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICBmb3IgKHZhciBpbmRleEIzID0gMHg4MDsgaW5kZXhCMyA8PSAweEJGOyBpbmRleEIzKyspIHsKICAgICAgY291bnQrKzsKICAgICAgdmFyIGhleEIzID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjMpOwogICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MEYpICogMHgxMDAwICsgKGluZGV4QjIgJiAweDNGKSAqIDB4NDAgKyAoaW5kZXhCMyAmIDB4M0YpOyAgCiAgICAgIHRyeSB7CiAgICAgICAgaWYgKGRlY29kZVVSSSgiJSIgKyBoZXhCMS5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhCMi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhCMy5zdWJzdHJpbmcoMikpID09PSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSkgY29udGludWU7ICAgICAgICAKICAgICAgfSBjYXRjaCAoZSkge30gICAKICAgICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSBlbHNlIHsKICAgICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAKICAgICAgICAgIGVsc2UgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICB9ICAKICAgICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICAgIH0gICAgICAgICAKICAgICAgfQogICAgICBpbmRleFAgPSBpbmRleDsKICAgICAgZXJyb3JDb3VudCsrOyAgCiAgICB9ICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","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+PiAxMCkgJiAweDAzRkYpICsgMHhEODAwOyAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChkZWNvZGVVUkkoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjQuc3Vic3RyaW5nKDMpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShIKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoTCkpIGNvbnRpbnVlOyAgICAgICAgCiAgICAgICAgfSBjYXRjaCAoZSkge30gICAKICAgICAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgICAgfSAKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICAgIH0gIAogICAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICAgIH0gICAgICAgICAKICAgICAgICB9CiAgICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgICAgZXJyb3JDb3VudCsrOyAgCiAgICAgIH0KICAgIH0gICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gNDsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDB4eHh4eHh4eCAoWzB4MDAgLSAweDdGXSksIHJldHVybiBCMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKZm9yIChpbmRleEIxID0gMHgwMDsgaW5kZXhCMSA8PSAweDdGOyBpbmRleEIxKyspIHsgICAgICAgCiAgY291bnQrKzsKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7ICAKICB2YXIgaW5kZXggPSBpbmRleEIxOyAgCiAgdHJ5IHsKICAgIGhleCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogICAgaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXhCMS5zdWJzdHJpbmcoMikpID09PSBoZXgpIGNvbnRpbnVlOwogIH0gY2F0Y2ggKGUpIHt9ICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMHh4eHh4IChbMHhDMCAtIDB4REZdKSwgQjIgPSAxMHh4eHh4eCAoWzB4ODAgLSAweEJGKSwgd2l0aG91dCBCMSA9IFsweEMwLCAweEMxXSwgcmV0dXJuIFVURjgoQjEsIEIyKQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXhCMSA9IDB4QzI7IGluZGV4QjEgPD0gMHhERjsgaW5kZXhCMSsrKSB7ICAgICAKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7CiAgZm9yIChpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGNvdW50Kys7CiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MUYpICogMHg0MCArIChpbmRleEIyICYgMHgzRik7ICAKICAgIHRyeSB7CiAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDIpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpIGNvbnRpbnVlOwogICAgfSBjYXRjaCAoZSkge30gICAKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4OwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTB4eHh4IChbMHhFMCAtIDB4RUZdKSwgQjIsIEIzID0gMTB4eHh4eHh4IChbMHg4MCAtIDB4QkZdKSwgd2l0aG91dCBbQjEsIEIyXSA9IFsweEUwLCAweDgwIC0gMHg5Rl0sIFsweEVELCAweEEwIC0gMHhCRl0gKDB4RDgwMCAtIDB4REZGRiksIHJldHVybiBVVEY4KEIxLCBCMiwgQjMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIxID0gMHhFMDsgaW5kZXhCMSA8PSAweEVGOyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKGluZGV4QjIgPSAweDgwOyBpbmRleEIyIDw9IDB4QkY7IGluZGV4QjIrKykgewogICAgaWYgKChpbmRleEIxID09PSAweEUwKSAmJiAoaW5kZXhCMiA8PSAweDlGKSkgY29udGludWU7CiAgICBpZiAoKGluZGV4QjEgPT09IDB4RUQpICYmICgweEEwIDw9IGluZGV4QjIpKSBjb250aW51ZTsgICAgICAgICAKICAgIHZhciBoZXhCMiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIyKTsKICAgIGZvciAoaW5kZXhCMyA9IDB4ODA7IGluZGV4QjMgPD0gMHhCRjsgaW5kZXhCMysrKSB7CiAgICAgIGNvdW50Kys7CiAgICAgIHZhciBoZXhCMyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIzKTsKICAgICAgdmFyIGluZGV4ID0gKGluZGV4QjEgJiAweDBGKSAqIDB4MTAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDQwICsgKGluZGV4QjMgJiAweDNGKTsgIAogICAgICB0cnkgewogICAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDIpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpIGNvbnRpbnVlOyAgICAgICAgCiAgICAgIH0gY2F0Y2ggKGUpIHt9ICAgCiAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgIH0gCiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9ICAgICAgICAgCiAgICAgIH0KICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgIGVycm9yQ291bnQrKzsgIAogICAgfSAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+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.2/S15.1.3.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTEweHh4IChbMHhGMCAtIDB4MEY0XSksIEIyLCBCMywgQjQgPSAxMHh4eHh4eHggKFsweDgwIC0gMHhCRl0pLCB3aXRob3V0IFtCMSwgQjJdID0gWzB4RjAsIDB4ODAgLSAweDlGXSwgWzB4RjQsIDB4OTAgLSAweEJGXSwgcmV0dXJuIFVURjgoQjEsIEIyLCBCMywgQjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0EyLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIxID0gMHhGMDsgaW5kZXhCMSA8PSAweEY0OyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKGluZGV4QjIgPSAweDgwOyBpbmRleEIyIDw9IDB4QkY7IGluZGV4QjIrKykgewogICAgaWYgKChpbmRleEIxID09PSAweEYwKSAmJiAoaW5kZXhCMiA8PSAweDlGKSkgY29udGludWU7ICAgICAgICAgICAgCiAgICBpZiAoKGluZGV4QjEgPT09IDB4RjQpICYmIChpbmRleEIyID49IDB4OTApKSBjb250aW51ZTsKICAgIHZhciBoZXhCMiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIyKTsKICAgIGZvciAoaW5kZXhCMyA9IDB4ODA7IGluZGV4QjMgPD0gMHhCRjsgaW5kZXhCMysrKSB7CiAgICAgIHZhciBoZXhCMyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIzKTsKICAgICAgZm9yIChpbmRleEI0ID0gMHg4MDsgaW5kZXhCNCA8PSAweEJGOyBpbmRleEI0KyspIHsKICAgICAgICB2YXIgaGV4QjQgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCNCk7CiAgICAgICAgY291bnQrKzsKICAgICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MDcpICogMHg0MDAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDEwMDAgKyAoaW5kZXhCMyAmIDB4M0YpICogMHg0MCArIChpbmRleEI0ICYgMHgzRik7CiAgICAgICAgdmFyIEwgPSAoKGluZGV4IC0gMHgxMDAwMCkgJiAweDAzRkYpICsgMHhEQzAwOwogICAgICAgIHZhciBIID0gKCgoaW5kZXggLSAweDEwMDAwKSA+PiAxMCkgJiAweDAzRkYpICsgMHhEODAwOyAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjQuc3Vic3RyaW5nKDMpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShIKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoTCkpIGNvbnRpbnVlOyAgICAgICAgCiAgICAgICAgfSBjYXRjaCAoZSkge30gICAKICAgICAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgICAgfSAKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICAgIH0gIAogICAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICAgIH0gICAgICAgICAKICAgICAgICB9CiAgICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgICAgZXJyb3JDb3VudCsrOyAgCiAgICAgIH0KICAgIH0gICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gNDsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjE1LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gJ0EnIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyICgxNS4xMC4yLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cCgiXlsvdy1jXSQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjE1LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gJ0InIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyICgxNS4xMC4yLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cCgiXlthLS93XSQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjE1LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gb25lIGNoYXJhY3RlciBpbiBDaGFyU2V0ICdBJyBncmVhdGVyIHRoYW4gb25lIGNoYXJhY3RlciBpbiBDaGFyU2V0ICdCJyAoMTUuMTAuMi4xNSBDaGFyYWN0ZXJSYW5nZSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZWdFeHAgPSBuZXcgUmVnRXhwKCJeW3otYV0kIik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjItMS5qcw0KICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gLSBTeW50YXhFcnJvciB3YXMgdGhyb3duIHdoZW4gY29tcGlsZSBhIHBhdHRlcm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cCA9IG5ldyBSZWdFeHAoIlxcIik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjUtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gVGVybSAtIFN5bnRheEVycm9yIHdhcyB0aHJvd24gd2hlbiBtYXggaXMgZmluaXRlIGFuZCBsZXNzIHRoYW4gbWluICgxNS4xMC4yLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cCgiMHsyLDF9Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgVHlwZUVycm9yIGluc3RlYWQgb2YgUmVnRXhwRXJyb3Igd2hlbiBwYXR0ZXJuIGlzIGFuIG9iamVjdCB3aG9zZSBbW0NsYXNzXV0gcHJvcGVydHkgaXMgJ1JlZ0V4cCcgYW5kIGZsYWdzIGlzIG5vdCB1bmRlZmluZWQgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZWdFeHBPYmogPSBuZXcgUmVnRXhwKHJlZ09iaiwgdHJ1ZSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgU3ludGF4RXJyb3IgaW5zdGVhZCBvZiBSZWdFeHBFcnJvciB3aGVuIHRoZSBjaGFyYWN0ZXJzIG9mICdQJyBkbyBub3QgaGF2ZSB0aGUgc3ludGFjdGljIGZvcm0gUGF0dGVybg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwT2JqID0gbmV3IFJlZ0V4cCgnXFwnKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtMy5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgU3ludGF4RXJyb3IgaW5zdGVhZCBvZiBSZWdFeHBFcnJvciB3aGVuICdGJyBjb250YWlucyBhbnkgY2hhcmFjdGVyIG90aGVyIHRoYW4gJ2cnLCAnaScsIG9yICdtJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cE9iaiA9IG5ldyBSZWdFeHAoJ2FiYycsICdhJyk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC8xNS4xMC40LjEtNC5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIHdoZW4gZmxhZ3MgaXMgJ2dpbScNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cE9iaiA9IG5ldyBSZWdFeHAoJ2FiYycsICdnaW0nKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp - the SyntaxError is not thrown when flags is 'gim'","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1-4.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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LmpzDQogKiBAZGVzY3JpcHRpb24gUmVnRXhwLnByb3RvdHlwZSBpcyBpdHNlbGYgYSBSZWdFeHANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWdFeHAucHJvdG90eXBlKTsNCiAgcmV0dXJuIHMgPT09ICdbb2JqZWN0IFJlZ0V4cF0nOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvMTUuMTAuNi4yLTktZS0xLmpzDQogKiBAZGVzY3JpcHRpb24gUmVnRXhwLnByb3RvdHlwZS5leGVjIC0gdGhlIHJlbW92ZWQgc3RlcCA5LmUgd29uJ3QgYWZmZWN0ZWQgY3VycmVudCBhbGdvcml0aG0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gIkhlbGxvIFdvcmxkISI7DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCJXb3JsZCIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHJlc3VsdCA9IHJlZ09iai5leGVjKHN0cikudG9TdHJpbmcoKSA9PT0gIldvcmxkIjsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjEvMTUuMTAuNy4xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLnNvdXJjZSBpcyBvZiB0eXBlIFN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAodHlwZW9mKFJlZ0V4cC5wcm90b3R5cGUuc291cmNlKSkgPT09ICdzdHJpbmcnOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjEvMTUuMTAuNy4xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLnNvdXJjZSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnc291cmNlJyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjIvMTUuMTAuNy4yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmdsb2JhbCBpcyBvZiB0eXBlIEJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gKHR5cGVvZihSZWdFeHAucHJvdG90eXBlLmdsb2JhbCkpID09PSAnYm9vbGVhbic7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjIvMTUuMTAuNy4yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmdsb2JhbCBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnZ2xvYmFsJyk7DQogIA0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjMvMTUuMTAuNy4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmlnbm9yZUNhc2UgaXMgb2YgdHlwZSBCb29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuICh0eXBlb2YoUmVnRXhwLnByb3RvdHlwZS5pZ25vcmVDYXNlKSkgPT09ICdib29sZWFuJzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjMvMTUuMTAuNy4zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmlnbm9yZUNhc2UgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgJ2lnbm9yZUNhc2UnKTsNCiAgDQogIGlmIChkLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjQvMTUuMTAuNy40LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLm11bHRpbGluZSBpcyBvZiB0eXBlIEJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gKHR5cGVvZihSZWdFeHAucHJvdG90eXBlLm11bHRpbGluZSkpID09PSAnYm9vbGVhbic7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjQvMTUuMTAuNy40LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLm11bHRpbGluZSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnbXVsdGlsaW5lJyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjUvMTUuMTAuNy41LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmxhc3RJbmRleCBpcyBvZiB0eXBlIE51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAodHlwZW9mKFJlZ0V4cC5wcm90b3R5cGUubGFzdEluZGV4KSkgPT09ICdudW1iZXInOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjUvMTUuMTAuNy41LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmxhc3RJbmRleCBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBzcGVjaWZpZWQgYXR0cmlidXRlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnbGFzdEluZGV4Jyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZC5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yIC0gQ29udmVyc2lvbkVycm9yIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBJRTkgc3RhbmRhcmQgbW9kZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgQ29udmVyc2lvbkVycm9yID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error - ConversionError has been removed from IE9 standard mode","path":"TestCases/ch15/15.11/15.11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yIC0gUmVnRXhwRXJyb3IgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIElFOSBzdGFuZGFyZCBtb2RlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBSZWdFeHBFcnJvciA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY2FsbF1dIG1ldGhvZAogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgRXJyb3IgcHJvdG90eXBlIGFzIGEgZnVuY3Rpb24gZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglFcnJvci5wcm90b3R5cGUoKTsKCSRGQUlMKCcjMTogIkVycm9yLnByb3RvdHlwZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY3JlYXRlXV0gbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNF9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBFcnJvci5wcm90b3R5cGUiIGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJX19pbnN0YW5jZSA9IG5ldyBPYmplY3QucHJvdG90eXBlOwoJJEZBSUwoJyMxOiAiX19pbnN0YW5jZSA9IG5ldyBPYmplY3QucHJvdG90eXBlIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","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":"77u/Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjIvMTUuMTEuNC4yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFcnJvci5wcm90b3R5cGUubmFtZSBpcyBub3QgZW51bWVyYWJsZS4NCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZm9yICh2YXIgaSBpbiBFcnJvci5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgIGlmIChpPT09Im5hbWUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","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":"77u/Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjMvMTUuMTEuNC4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFcnJvci5wcm90b3R5cGUubWVzc2FnZSBpcyBub3QgZW51bWVyYWJsZS4NCiAqLw0KDQoNCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZm9yICh2YXIgaSBpbiBFcnJvci5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgIGlmIChpPT09Im1lc3NhZ2UiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTEwLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcgcmV0dXJuIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyAnbmFtZScsICc6JywgYSBzaW5nbGUgc3BhY2UgY2hhcmFjdGVyLCBhbmQgJ21zZycgd2hlbiAnbmFtZScgYW5kICdtc2cnIGFyZSBub24tZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigiRXJyb3JNZXNzYWdlIik7DQogICAgICAgIGVyck9iai5uYW1lID0gIkVycm9yTmFtZSI7DQogICAgICAgIHJldHVybiBlcnJPYmoudG9TdHJpbmcoKSA9PT0gIkVycm9yTmFtZTogRXJyb3JNZXNzYWdlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyAtICdFcnJvcicgaXMgcmV0dXJuZWQgd2hlbiAnbmFtZScgaXMgYWJzZW50IGFuZCBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQgd2hlbiAnbXNnJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIHJldHVybiBlcnJPYmoudG9TdHJpbmcoKSA9PT0gIkVycm9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTYtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyAtICdFcnJvcicgaXMgcmV0dXJuZWQgd2hlbiAnbmFtZScgaXMgYWJzZW50IGFuZCB2YWx1ZSBvZiAnbXNnJyBpcyByZXR1cm5lZCB3aGVuICdtc2cnIGlzIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJFcnJvck1lc3NhZ2UiKTsNCiAgICAgICAgcmV0dXJuIGVyck9iai50b1N0cmluZygpID09PSAiRXJyb3I6IEVycm9yTWVzc2FnZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyByZXR1cm4gdGhlIHZhbHVlIG9mICdtc2cnIHdoZW4gJ25hbWUnIGlzIGVtcHR5IHN0cmluZyBhbmQgJ21zZycgaXNuJ3QgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigiRXJyb3JNZXNzYWdlIik7DQogICAgICAgIGVyck9iai5uYW1lID0gIiI7DQogICAgICAgIHJldHVybiBlcnJPYmoudG9TdHJpbmcoKSA9PT0gIkVycm9yTWVzc2FnZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyByZXR1cm4gZW1wdHkgc3RyaW5nIHdoZW4gJ25hbWUnIGlzIGVtcHR5IHN0cmluZyBhbmQgJ21zZycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBlcnJPYmoubmFtZSA9ICIiOw0KICAgICAgICByZXR1cm4gZXJyT2JqLnRvU3RyaW5nKCkgPT09ICIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC8xNS4xMS40LjQvMTUuMTEuNC40LTktMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyByZXR1cm4gJ25hbWUnIHdoZW4gJ25hbWUnIGlzIG5vbi1lbXB0eSBzdHJpbmcgYW5kICdtc2cnIGlzIGVtcHR5IHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgZXJyT2JqLm5hbWUgPSAiRXJyb3JOYW1lIjsNCiAgICAgICAgcmV0dXJuIGVyck9iai50b1N0cmluZygpID09PSAiRXJyb3JOYW1lIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogNC4yIGNhbGxzIG91dCBKU09OIGFzIG9uZSBvZiB0aGUgYnVpbHQtaW4gb2JqZWN0cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04gbXVzdCBiZSBhIGJ1aWx0LWluIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gSlNPTjsNCiAgaWYgKHR5cGVvZihvKSA9PT0gIm9iamVjdCIpIHsgIA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0LCBhbmQgbXVzdCBub3Qgc3VwcG9ydCBbW0NvbnN0cnVjdF1dLg0KICogc3RlcCA0IGluIDExLjIuMiBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTItMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTiBtdXN0IG5vdCBzdXBwb3J0IHRoZSBbW0NvbnN0cnVjdF1dIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gSlNPTjsNCg0KICB0cnkgew0KICAgIHZhciBqID0gbmV3IEpTT04oKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0LCBhbmQgbXVzdCBub3Qgc3VwcG9ydCBbW0NhbGxdXS4NCiAqIHN0ZXAgNSBpbiAxMS4yLjMgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04gbXVzdCBub3Qgc3VwcG9ydCB0aGUgW1tDYWxsXV0gbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBKU09OOw0KDQogIHRyeSB7DQogICAgdmFyIGogPSBKU09OKCk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbGFzdCBwYXJhZ3JhcGggaW4gc2VjdGlvbiAxNSBzYXlzICJldmVyeSBvdGhlciBwcm9wZXJ0eSBkZXNjcmliZWQNCiAqIGluIHRoaXMgc2VjdGlvbiBoYXMgdGhlIGF0dHJpYnV0ZSB7Li4uIFtbRW51bWVyYWJsZV1dIDogZmFsc2UgLi4ufQ0KICogdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuIFRoaXMgZGVmYXVsdCBhcHBsaWVzIHRvIHRoZSBwcm9wZXJ0aWVzIG9uDQogKiBKU09OLCBhbmQgd2Ugc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGVudW1lcmF0ZSB0aGVtLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTItMC00LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTiBvYmplY3QncyBwcm9wZXJ0aWVzIG11c3QgYmUgbm9uIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiAgdmFyIG8gPSBKU09OOw0KICB2YXIgaSA9IDA7DQogIGZvciAodmFyIHAgaW4gbykgew0KICAgIGkrKzsNCiAgfQ0KICAgIA0KICBpZiAoaSA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciB0cmVhdHMgd2hpdGVzcGFjZSBhcyBhIHRva2VuIHNlcGVyYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyXHRcclxuIDM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIDxWVD4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnXHUwMDBiMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciANCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIDxGRj4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnXHUwMDBjMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciANCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNC5qcw0KICogQGRlc2NyaXB0aW9uIDxOQlNQPiBpcyBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCdcdTAwYTAxMjM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNS5qcw0KICogQGRlc2NyaXB0aW9uIDxaV1NQUD4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnXHUyMDBiMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciANCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNi5qcw0KICogQGRlc2NyaXB0aW9uIDxCT00+IGlzIG5vdCB2YWxpZCBKU09OIHdoaXRlc3BhY2UgYXMgc3BlY2lmaWVkIGJ5IHRoZSBwcm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJ1x1ZmVmZjEyMzQnKTsgLy8gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYQ0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtNy5qcw0KICogQGRlc2NyaXB0aW9uIG90aGVyIGNhdGVnb3J5IHogc3BhY2VzIGFyZSBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICAvLyB0aGUgZm9sbG93aW5nIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIEpTT04ucGFyc2UoJ1x1MTY4MFx1MTgwZVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwYVx1MjAyZlx1MjA1Zlx1MzAwMDEyMzQnKTsgDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtOC5qcw0KICogQGRlc2NyaXB0aW9uIFUrMjAyOCBhbmQgVSsyMDI5IGFyZSBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCdcdTIwMjhcdTIwMjkxMjM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLTAtOS5qcw0KICogQGRlc2NyaXB0aW9uIFdoaXRlc3BhY2UgY2hhcmFjdGVycyBjYW4gYXBwZWFyIGJlZm9yZS9hZnRlciBhbnkgSlNPTnRva2VuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIEpTT04ucGFyc2UoJ1x0XHIgXG57XHRcciBcbicrDQogICAgICAgICAgICAgICAgICAgJyJwcm9wZXJ0eSJcdFxyIFxuOlx0XHIgXG57XHRcciBcbn1cdFxyIFxuLFx0XHIgXG4nICsNCiAgICAgICAgICAgICAgICAgICAnInByb3AyIlx0XHIgXG46XHRcciBcbicrDQogICAgICAgICAgICAgICAgICAgICAgICAnW1x0XHIgXG50cnVlXHRcciBcbixcdFxyIFxubnVsbFx0XHIgXG4sMTIzLjQ1Nlx0XHIgXG5dJysNCiAgICAgICAgICAgICAgICAgICAgICdcdFxyIFxufVx0XHIgXG4nKTsgIC8vIHNob3VsZCBKT1NOIHBhcnNlIHdpdGhvdXQgZXJyb3INCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxUQUI+IGFzIGEgd2hpdGVzcGFjZSBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoSlNPTi5wYXJzZSgnXHQxMjM0JykhPT0xMjM0KSByZXR1cm4gZmFsc2U7IC8vIDxUQUI+IHNob3VsZCBiZSBpZ25vcmVkDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnMTJcdDM0Jyk7IC8vIDxUQUI+IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxDUj4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChKU09OLnBhcnNlKCdccjEyMzQnKSE9PTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPGNyPiBzaG91bGQgYmUgaWdub3JlZA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyXHIzNCcpOyAvLyA8Q1I+IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxMRj4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChKU09OLnBhcnNlKCdcbjEyMzQnKSE9PTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPExGPiBzaG91bGQgYmUgaWdub3JlZA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyXG4zNCcpOyAvLyA8TEY+IHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIGFzIHdoaXRlc3BhY2UgcmVzdWx0cyBpbiB0d28gdG9rZW5zDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcxLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgdHJlYXRzIDxTUD4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogaWYgKEpTT04ucGFyc2UoJyAxMjM0JykhPTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPFNQPiBzaG91bGQgYmUgaWdub3JlZA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJzEyIDM0Jyk7IC8vIDxTUD4gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVzcGFjZSByZXN1bHRzIGluIHR3byB0b2tlbnMNCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICBpZiAoZS5uYW1lID09PSAnU3ludGF4RXJyb3InKSByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcyLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OU3RyaW5ncyBjYW4gYmUgd3JpdHRlbiB1c2luZyBkb3VibGUgcXVvdGVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04ucGFyc2UoJyJhYmMiJyk9PT0iYWJjIjsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OU3RyaW5nIG1heSBub3QgYmUgZGVsaW1pdGVkIGJ5IHNpbmdsZSBxdW90ZXMgDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgICBpZiAoSlNPTi5wYXJzZSgiJ2FiYyciKSA9PT0nYWJjJykgcmV0dXJuIGZhbHNlOw0KICAgICAgIH0NCiAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OU3RyaW5nIG1heSBub3QgYmUgZGVsaW1pdGVkIGJ5IFVuY29kZSBlc2NhcGVkIHF1b3RlcyANCiAqLw0KDQovLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8vLyANCi8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQovLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQovLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi8vLyANCi8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQovLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICAgIGlmIChKU09OLnBhcnNlKCJcXHUwMDIyYWJjXFx1MDAyMiIpID09PSdhYmMnKSByZXR1cm4gZmFsc2U7DQogICAgICAgfQ0KICAgICBjYXRjaCAoZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nMi00LmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OU3RyaW5nIG11c3QgYm90aCBiZWdpbiBhbmQgZW5kIHdpdGggZG91YmxlIHF1b3Rlcw0KICovDQoNCi8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLy8vIA0KLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLy8vIA0KLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQovLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQovLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgICAgaWYgKEpTT04ucGFyc2UoJyJhYicrImMnIikgPT09J2FiYycpIHJldHVybiBmYWxzZTsNCiAgICAgICB9DQogICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWcyLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT05TdHJpbmdzIGNhbiBjb250YWluIG5vIEpTT05TdHJpbmdDaGFyYWN0ZXJzIChFbXB0eSBKU09OU3RyaW5ncykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5wYXJzZSgnIiInKT09PSIiOyANCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAwMCB0aHJ1IFUrMDAwNw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwNyInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAwOCB0aHJ1IFUrMDAwRg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAwOFx1MDAwOVx1MDAwYVx1MDAwYlx1MDAwY1x1MDAwZFx1MDAwZVx1MDAwZiInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAxMCB0aHJ1IFUrMDAxNw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxNyInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc0LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tYXIgZG9lcyBub3QgYWxsb3cgYSBKU09OU3RyaW5nQ2hhcmFjdGVyIHRvIGJlIGFueSBvZiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJzIFUrMDAxOCB0aHJ1IFUrMDAxRg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnIlx1MDAxOFx1MDAxOVx1MDAxYVx1MDAxYlx1MDAxY1x1MDAxZFx1MDAxZVx1MDAxZiInKTsgLy8gaW52YWxpZCBzdHJpbmcgY2hhcmFjdGVycyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvcg0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlLm5hbWUgPT09ICdTeW50YXhFcnJvcicpIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIEpTT04gbGV4aWNhbCBncmFtbWFyIGFsbG93cyBVbmljb2RlIGVzY2FwZSBzZXF1ZW5jZXMgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcdTAwNTgiJyk9PT0nWCc7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nNS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OU3RyaW5nQ2hhcmFjdGVyIFVuaWNvZGVFc2NhcGUgbWF5IG5vdCBoYXZlIGZld2VyIHRoYW4gNCBoZXggY2hhcmFjdGVycw0KICovDQoNCi8vLyBDb3B5cmlnaHQgKGMpIDIwMDkgTWljcm9zb2Z0IENvcnBvcmF0aW9uIA0KLy8vIA0KLy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQNCi8vLyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgDQovLy8gICAgICB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uICANCi8vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTWljcm9zb2Z0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bw0KLy8vICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLy8vIA0KLy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1INCi8vLyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUw0KLy8vIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFDQovLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UDQovLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQovLy8gSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksDQovLy8gT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KLy8vIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgICAgSlNPTi5wYXJzZSgnIlxcdTAwNSInKSANCiAgICAgICB9DQogICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiBlLm5hbWU9PT0nU3ludGF4RXJyb3InDQogICAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjEvMTUuMTIuMS4xLzE1LjEyLjEuMS1nNS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OU3RyaW5nQ2hhcmFjdGVyIFVuaWNvZGVFc2NhcGUgbWF5IG5vdCBpbmNsdWRlIGFueSBub249aGV4IGNoYXJhY3RlcnMNCiAqLw0KDQovLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8vLyANCi8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQovLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQovLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi8vLyANCi8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQovLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICAgIEpTT04ucGFyc2UoJyJcXHUwWDUwIicpIA0KICAgICAgIH0NCiAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIGUubmFtZT09PSdTeW50YXhFcnJvcicNCiAgICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICcvJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcLyInKT09PScvJzsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICcnIGFzIGEgSlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnJyBpbiBhIEpTT05TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxcXCInKT09PSdcXCc7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdiJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcYiInKT09PSdcYic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdmJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcZiInKT09PSdcZic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICduJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcbiInKT09PSdcbic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICdyJyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcciInKT09PSdccic7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMS8xNS4xMi4xLjEvMTUuMTIuMS4xLWc2LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBUaGUgSlNPTiBsZXhpY2FsIGdyYW1tZXIgYWxsb3dzICd0JyBhcyBhIEpTT05Fc2NhcGVDaGFyYWN0ZXIgYWZ0ZXIgJycgaW4gYSBKU09OU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcdCInKT09PSdcdCc7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5wYXJzZSwgYW5kIGl0IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICogdGFraW5nIDIgcGFyYW1ldGVycy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjIvMTUuMTIuMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnBhcnNlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gSlNPTi5wYXJzZTsNCg0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5wYXJzZSwgYW5kIGl0IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICogdGFraW5nIDIgcGFyYW1ldGVycy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjIvMTUuMTIuMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnBhcnNlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMiBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBKU09OLnBhcnNlOw0KDQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIgJiYgZi5sZW5ndGggPT09IDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBbW0NvbmZpZ3VyYWJsZV1dIG9uIEpTT04gaXMgdHJ1ZS4gVGhpcyBtZWFucyB3ZQ0KICogc2hvdWxkIGJlIGFibGUgdG8gZGVsZXRlICg4LjYuMi41KSB0aGUgc3RyaW5naWZ5IGFuZCBwYXJzZSBwcm9wZXJ0aWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgbXVzdCBiZSBkZWxldGFibGUgKGNvbmZpZ3VyYWJsZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IEpTT047DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAicGFyc2UiKTsNCiAgcmV0dXJuIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIGlzIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAnICsgbnVsbENoYXJzW2luZGV4XSArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnBhcnNlIC0gcGFyc2luZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgdmFsdWUgbWlkZGxlcyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAibmFtZSIgOiAnICsgIkpvIiArIG51bGxDaGFyc1tpbmRleF0gKyAiaG4iICsgJyB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIHN0YXJ0cyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAnICsgbnVsbENoYXJzW2luZGV4XSArICJuYW1lIiArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIGVuZHMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3snICsgIm5hbWUiICsgbnVsbENoYXJzW2luZGV4XSArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIHN0YXJ0cyBhbmQgZW5kcyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneycgKyBudWxsQ2hhcnNbaW5kZXhdICsgIm5hbWUiICsgbnVsbENoYXJzW2luZGV4XSArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSBuYW1lIG1pZGRsZXMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgJyArICJuYSIgKyBudWxsQ2hhcnNbaW5kZXhdICsgIm1lIiArICcgOiAiSm9obiIgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBpcyBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgIm5hbWUiIDogJyArIG51bGxDaGFyc1tpbmRleF0gKyAnIH0gJyk7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBmYWxzZSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBzdGFydHMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgIm5hbWUiIDogJyArIG51bGxDaGFyc1tpbmRleF0gKyAiSm9obiIgKyAnIH0gJyk7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBmYWxzZSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBlbmRzIHdpdGggYSBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIG51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBudWxsQ2hhcnNbMF0gPSAnXCJcdTAwMDBcIic7DQogICAgICAgIG51bGxDaGFyc1sxXSA9ICdcIlx1MDAwMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzJdID0gJ1wiXHUwMDAyXCInOw0KICAgICAgICBudWxsQ2hhcnNbM10gPSAnXCJcdTAwMDNcIic7DQogICAgICAgIG51bGxDaGFyc1s0XSA9ICdcIlx1MDAwNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzVdID0gJ1wiXHUwMDA1XCInOw0KICAgICAgICBudWxsQ2hhcnNbNl0gPSAnXCJcdTAwMDZcIic7DQogICAgICAgIG51bGxDaGFyc1s3XSA9ICdcIlx1MDAwN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzhdID0gJ1wiXHUwMDA4XCInOw0KICAgICAgICBudWxsQ2hhcnNbOV0gPSAnXCJcdTAwMDlcIic7DQogICAgICAgIG51bGxDaGFyc1sxMF0gPSAnXCJcdTAwMEFcIic7DQogICAgICAgIG51bGxDaGFyc1sxMV0gPSAnXCJcdTAwMEJcIic7DQogICAgICAgIG51bGxDaGFyc1sxMl0gPSAnXCJcdTAwMENcIic7DQogICAgICAgIG51bGxDaGFyc1sxM10gPSAnXCJcdTAwMERcIic7DQogICAgICAgIG51bGxDaGFyc1sxNF0gPSAnXCJcdTAwMEVcIic7DQogICAgICAgIG51bGxDaGFyc1sxNV0gPSAnXCJcdTAwMEZcIic7DQogICAgICAgIG51bGxDaGFyc1sxNl0gPSAnXCJcdTAwMTBcIic7DQogICAgICAgIG51bGxDaGFyc1sxN10gPSAnXCJcdTAwMTFcIic7DQogICAgICAgIG51bGxDaGFyc1sxOF0gPSAnXCJcdTAwMTJcIic7DQogICAgICAgIG51bGxDaGFyc1sxOV0gPSAnXCJcdTAwMTNcIic7DQogICAgICAgIG51bGxDaGFyc1syMF0gPSAnXCJcdTAwMTRcIic7DQogICAgICAgIG51bGxDaGFyc1syMV0gPSAnXCJcdTAwMTVcIic7DQogICAgICAgIG51bGxDaGFyc1syMl0gPSAnXCJcdTAwMTZcIic7DQogICAgICAgIG51bGxDaGFyc1syM10gPSAnXCJcdTAwMTdcIic7DQogICAgICAgIG51bGxDaGFyc1syNF0gPSAnXCJcdTAwMThcIic7DQogICAgICAgIG51bGxDaGFyc1syNV0gPSAnXCJcdTAwMTlcIic7DQogICAgICAgIG51bGxDaGFyc1syNl0gPSAnXCJcdTAwMUFcIic7DQogICAgICAgIG51bGxDaGFyc1syN10gPSAnXCJcdTAwMUJcIic7DQogICAgICAgIG51bGxDaGFyc1syOF0gPSAnXCJcdTAwMUNcIic7DQogICAgICAgIG51bGxDaGFyc1syOV0gPSAnXCJcdTAwMURcIic7DQogICAgICAgIG51bGxDaGFyc1szMF0gPSAnXCJcdTAwMUVcIic7DQogICAgICAgIG51bGxDaGFyc1szMV0gPSAnXCJcdTAwMUZcIic7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gbnVsbENoYXJzKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHZhciBvYmogPSBKU09OLnBhcnNlKCd7ICJuYW1lIiA6ICcgKyAiSm9obiIgKyBudWxsQ2hhcnNbaW5kZXhdICsgJyB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBzdGFydHMgYW5kIGVuZHMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgIm5hbWUiIDogJyArIG51bGxDaGFyc1tpbmRleF0gKyAiSm9obiIgKyBudWxsQ2hhcnNbaW5kZXhdICsgJyB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5zdHJpbmdpZnksIGFuZCBpdCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqIHRha2luZyAzIHBhcmFtZXRlcnMuDQogKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgbXVzdCBleGlzdCBhcyBiZSBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBKU09OLnN0cmluZ2lmeTsNCg0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgbmFtZSBKU09OIG11c3QgYmUgYm91bmQgdG8gYW4gb2JqZWN0Lg0KICogDQogKiBTZWN0aW9uIDE1IHNheXMgdGhhdCBldmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QgZGVzY3JpYmVkIGluIHRoaXMNCiAqIHNlY3Rpb24g77+9IHdoZXRoZXIgYXMgYSBjb25zdHJ1Y3RvciwgYW4gb3JkaW5hcnkgZnVuY3Rpb24sIG9yIGJvdGgg77+9IGhhcw0KICogYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsDQogKiB0aGlzIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4NCiAqIHRoZSBzZWN0aW9uIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbA0KICogcGFyYW1ldGVycy4NCiAqIA0KICogVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gSlNPTi5zdHJpbmdpZnksIGFuZCBpdCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqIHRha2luZyAzIHBhcmFtZXRlcnMuDQogKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgbXVzdCBleGlzdCBhcyBiZSBhIGZ1bmN0aW9uIHRha2luZyAzIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEpTT04uc3RyaW5naWZ5Ow0KDQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIgJiYgZi5sZW5ndGggPT09IDMpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoaXMgdGVzdCBzaG91bGQgYmUgcnVuIHdpdGhvdXQgYW55IGJ1aWx0LWlucyBiZWluZyBhZGRlZC9hdWdtZW50ZWQuDQogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBbW0NvbmZpZ3VyYWJsZV1dIG9uIEpTT04gaXMgdHJ1ZS4gVGhpcyBtZWFucyB3ZQ0KICogc2hvdWxkIGJlIGFibGUgdG8gZGVsZXRlICg4LjYuMi41KSB0aGUgc3RyaW5naWZ5IGFuZCBwYXJzZSBwcm9wZXJ0aWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IG11c3QgYmUgZGVsZXRhYmxlIChjb25maWd1cmFibGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBKU09OOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgInN0cmluZ2lmeSIpOw0KICBpZiAoZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQpIHJldHVybnMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuZGVmaW5lZCkgPT09IHVuZGVmaW5lZDsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify(undefined) returns undefined","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIHNjYWxhciB2YWx1ZSBjYW4gcmV0dXJuIHVuZGVmaW5lZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoNDIsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHVuZGVmaW5lZCB9KSA9PT0gdW5kZWZpbmVkOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIE9iamVjdCBjYW4gcmV0dXJuIHVuZGVmaW5lZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe3Byb3A6MX0sIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHVuZGVmaW5lZCB9KSA9PT0gdW5kZWZpbmVkOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIHNjYWxhciBjYW4gcmV0dXJuIGFuIEFycmF5Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSg0MiwgZnVuY3Rpb24oaywgdikgeyByZXR1cm4gdj09NDIgP1s0LDJdOnYgfSkgPT09ICdbNCwyXSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQSBKU09OLnN0cmluZ2lmeSByZXBsYWNlciBmdW5jdGlvbiBhcHBsaWVkIHRvIGEgdG9wIGxldmVsIHNjYWxhciBjYW4gcmV0dXJuIGFuIE9iamVjdC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoNDIsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuIHY9PTQyID8ge2ZvcnR5OjJ9OiB2fSkgPT09ICd7ImZvcnR5IjoyfSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXBwbHlpbmcgSlNPTi5zdHJpbmdpZnkgdG8gYSAgZnVuY3Rpb24gcmV0dXJucyB1bmRlZmluZWQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZ1bmN0aW9uKCkge30pID09PSB1bmRlZmluZWQ7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXBwbHlpbmcgSlNPTi5zdHJpbmdpZnkgd2l0aCBhIHJlcGxhY2VyIGZ1bmN0aW9uIHRvIGEgZnVuY3Rpb24gcmV0dXJucyB0aGUgcmVwbGFjZXIgdmFsdWUuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZ1bmN0aW9uKCkge30sIGZ1bmN0aW9uKGssdikge3JldHVybiA5OX0pID09PSAnOTknOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgaXMgdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRiI6ICJKb2huIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOyANCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgc3RhcnRzIHdpdGggdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRm5hbWUiOiAiSm9obiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgZW5kcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGIjogIkpvaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgc3RhcnRzIGFuZCBlbmRzIHdpdGggdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRm5hbWVcdTAwMDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcdTAwMDdcdTAwMDhcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcdTAwMUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYiOiAiSm9obiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT04uc3RyaW5naWZ5IHJlcGxhY2VyIGZ1bmN0aW9uIHdvcmtzIGlzIGFwcGxpZWQgdG8gYSB0b3AgbGV2ZWwgdW5kZWZpbmVkIHZhbHVlLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmRlZmluZWQsIGZ1bmN0aW9uKGssIHYpIHsgcmV0dXJuICJyZXBsYWNlbWVudCIgfSkgPT09ICcicmVwbGFjZW1lbnQiJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgbWlkZGxlcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYVx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRm1lIjogIkpvaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIGlzIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIHN0YXJ0cyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRkpvaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIGVuZHMgd2l0aCB0aGUgdW5pb24gb2YgYWxsIG51bGwgY2hhcmFjdGVyIChUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIFF1b3RlKHZhbHVlKSBzdGVwIDIuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBleHBlY3RlZE51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1swXSA9ICJcXHUwMDAwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMV0gPSAiXFx1MDAwMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzJdID0gIlxcdTAwMDIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szXSA9ICJcXHUwMDAzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNF0gPSAiXFx1MDAwNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzVdID0gIlxcdTAwMDUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s2XSA9ICJcXHUwMDA2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbN10gPSAiXFx1MDAwNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzhdID0gIlxcYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzldID0gIlxcdCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEwXSA9ICJcXG4iOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMV0gPSAiXFx1MDAwYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEyXSA9ICJcXGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxM10gPSAiXFxyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTRdID0gIlxcdTAwMGUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNV0gPSAiXFx1MDAwZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE2XSA9ICJcXHUwMDEwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTddID0gIlxcdTAwMTEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOF0gPSAiXFx1MDAxMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE5XSA9ICJcXHUwMDEzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjBdID0gIlxcdTAwMTQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMV0gPSAiXFx1MDAxNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIyXSA9ICJcXHUwMDE2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjNdID0gIlxcdTAwMTciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNF0gPSAiXFx1MDAxOCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI1XSA9ICJcXHUwMDE5IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjZdID0gIlxcdTAwMWEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syN10gPSAiXFx1MDAxYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI4XSA9ICJcXHUwMDFjIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjldID0gIlxcdTAwMWQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMF0gPSAiXFx1MDAxZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMxXSA9ICJcXHUwMDFmIjsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBleHBlY3RlZE51bGxDaGFycykgew0KDQogICAgICAgICAgICB2YXIgc3RyID0gSlNPTi5zdHJpbmdpZnkoeyAibmFtZSI6ICJKb2huXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIHN0YXJ0cyBhbmQgZW5kcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRkpvaG5cdTAwMDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcdTAwMDdcdTAwMDhcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcdTAwMUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYiIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSBzdHJpbmdpZnlpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIG1pZGRsZXMgd2l0aCB0aGUgdW5pb24gb2YgYWxsIG51bGwgY2hhcmFjdGVyIChUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIFF1b3RlKHZhbHVlKSBzdGVwIDIuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBleHBlY3RlZE51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1swXSA9ICJcXHUwMDAwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMV0gPSAiXFx1MDAwMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzJdID0gIlxcdTAwMDIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szXSA9ICJcXHUwMDAzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNF0gPSAiXFx1MDAwNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzVdID0gIlxcdTAwMDUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s2XSA9ICJcXHUwMDA2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbN10gPSAiXFx1MDAwNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzhdID0gIlxcYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzldID0gIlxcdCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEwXSA9ICJcXG4iOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMV0gPSAiXFx1MDAwYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEyXSA9ICJcXGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxM10gPSAiXFxyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTRdID0gIlxcdTAwMGUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNV0gPSAiXFx1MDAwZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE2XSA9ICJcXHUwMDEwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTddID0gIlxcdTAwMTEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOF0gPSAiXFx1MDAxMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE5XSA9ICJcXHUwMDEzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjBdID0gIlxcdTAwMTQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMV0gPSAiXFx1MDAxNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIyXSA9ICJcXHUwMDE2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjNdID0gIlxcdTAwMTciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNF0gPSAiXFx1MDAxOCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI1XSA9ICJcXHUwMDE5IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjZdID0gIlxcdTAwMWEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syN10gPSAiXFx1MDAxYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI4XSA9ICJcXHUwMDFjIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjldID0gIlxcdTAwMWQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMF0gPSAiXFx1MDAxZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMxXSA9ICJcXHUwMDFmIjsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBleHBlY3RlZE51bGxDaGFycykgew0KDQogICAgICAgICAgICB2YXIgc3RyID0gSlNPTi5zdHJpbmdpZnkoeyAibmFtZSI6ICJKb1x1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRmhuIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgLSB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBjb25jYXRlbmF0aW9uIGlzICddJyAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBKQSh2YWx1ZSkgc3RlcCAxMC5iLmlpaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGFyck9ialswXSA9ICJhIjsNCiAgICAgICAgYXJyT2JqWzFdID0gImIiOw0KICAgICAgICBhcnJPYmpbMl0gPSAiYyI7DQoNCiAgICAgICAgdmFyIGpzb25UZXh0ID0gSlNPTi5zdHJpbmdpZnkoYXJyT2JqLCB1bmRlZmluZWQsICIiKS50b1N0cmluZygpOw0KICAgICAgICByZXR1cm4ganNvblRleHQuc3Vic3RyKGpzb25UZXh0Lmxlbmd0aCAtIDEsIDEpID09PSAiXSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgc3RyaW5nIHZhbHVlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoImEgc3RyaW5nIikgPT09ICciYSBzdHJpbmciJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIE51bWJlciB2YWx1ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KDEyMykgPT09ICcxMjMnOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIEJvb2xlYW4gdmFsdWVzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSh0cnVlKSA9PT0gJ3RydWUnOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgbnVsbCB2YWx1ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG51bGwpID09PSAnbnVsbCc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIE51bWJlciBvYmplY3RzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShuZXcgTnVtYmVyKDQyKSkgPT09ICc0Mic7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTguanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIFN0cmluZyBvYmplY3RzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShuZXcgU3RyaW5nKCd3cmFwcGVyZWQnKSkgPT09ICcid3JhcHBlcmVkIic7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTExLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb3JyZWN0bHkgd29ya3Mgb24gdG9wIGxldmVsIEJvb2xlYW4gb2JqZWN0cy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobmV3IEJvb2xlYW4oZmFsc2UpKSA9PT0gJ2ZhbHNlJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGlnbm9yZXMgcmVwbGFjZXIgYXJ1Z3VtZW50cyB0aGF0IGFyZSBub3QgZnVuY3Rpb25zIG9yIGFycmF5cy4uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFs0Ml0se30pPT09ICdbNDJdJzsNCiAgICAgfQ0KICAgY2F0Y2ggKGUpIHtyZXR1cm4gIGZhbHNlfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTUtYS1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBOdW1iZXIgd3JhcHBlciBvYmplY3Qgc3BhY2UgYXJ1Z3VtZW50cyB0byBOdW1iZXIgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG5ldyBOdW1iZXIoNSkpPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCA1KTsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTUtYi1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBTdHJpbmcgd3JhcHBlciBvYmplY3Qgc3BhY2UgYXJ1Z3VtZW50cyB0byBTdHJpbmcgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG5ldyBTdHJpbmcoJ3h4eCcpKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJ3h4eCcpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGdyZWF0ZXIgdGhhbiAxMCB0aGUgc2FtZSBhcyBhICBzcGFjZSBhcmd1bWVudCBvZiAxMC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgMTApPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAxMDApOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJ1Y2NhdGVzIG5vbi1pbnRlZ2VyIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIHRvIHRoZWlyIGludGVnZXIgcGFydC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgNS45OTk5OSk9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDUpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAxICgwLjk5OTk5OSl0aGUgc2FtZSBhcyBlbXB0cnkgc3RyaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAwLjk5OTk5OSk9PT0gSlNPTi5zdHJpbmdpZnkob2JqKTsgIC8qIGVtcHRyeSBzdHJpbmcgc2hvdWxkIGJlIHNhbWUgYXMgbm8gc3BhY2UgYXJnICovDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAxICgwKXRoZSBzYW1lIGFzIGVtcHRyeSBzdHJpbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDApPT09IEpTT04uc3RyaW5naWZ5KG9iaik7ICAvKiBlbXB0cnkgc3RyaW5nIHNob3VsZCBiZSBzYW1lIGFzIG5vIHNwYWNlIGFyZyAqLw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIGxlc3MgdGhhbiAxICgtNSkgdGhlIHNhbWUgYXMgZW1wdHJ5IHN0cmluZyBzcGFjZSBhcmd1bWVudC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgLTUpPT09IEpTT04uc3RyaW5naWZ5KG9iaik7ICAvKiBlbXB0cnkgc3RyaW5nIHNob3VsZCBiZSBzYW1lIGFzIG5vIHNwYWNlIGFyZyAqLw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTYtYi00LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG51bWVyaWMgc3BhY2UgYXJndW1lbnRzIChpbiB0aGUgcmFuZ2UgMS4uMTApIGlzIGVxdWl2YWxlbnQgdG8gYSBzdHJpbmcgb2Ygc3BhY2VzIG9mIHRoYXQgbGVuZ3RoLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgdmFyIGZpdmVTcGFjZXMgPSAnICAgICAnOw0KICAvLyAgICAgICAgICAgICAgICcxMjM0NScNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCA1KT09PSBKU09OLnN0cmluZ2lmeShvYmosIG51bGwsIGZpdmVTcGFjZXMpOyAgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTctYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgb25seSB1c2VzIHRoZSBmaXJzdCAxMCBjaGFyYWN0ZXJzIG9mIGEgc3RyaW5nIHNwYWNlIGFyZ3VtZW50cy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJzAxMjM0NTY3ODl4eHh4eHh4eHgnKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJzAxMjM0NTY3ODknKTsgIA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIGVtcHR5IHN0cmluZyBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgJycpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIEJvb2xlYW4gc3BhY2UgYXJndW1lbnQgdGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIHRydWUpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIG51bGwgc3BhY2UgYXJndW1lbnQgdGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG51bGwpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS00LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIGFuIEJvb2xlYW4gd3JhcHBlciBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgbmV3IEJvb2xlYW4odHJ1ZSkpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zLTgtYS01LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgdHJlYXRzIG5vbi1OdW1iZXIgb3IgU3RyaW5nIG9iamVjdCBzcGFjZSBhcmd1bWVudHMgdGhlIHNhbWUgYXMgYSBtaXNzaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIG9iaik7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIHN0cmluZyB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSBhIHRvSlNPTiBjYWxsIHRvIGxpdGVyYWwgc3RyaW5ncy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0gew0KICAgIHByb3A6NDIsDQogICAgdG9KU09OOiBmdW5jdGlvbiAoKSB7cmV0dXJuICdmb3J0eXR3byBvYmplY3RzJ30NCiAgICB9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoW29ial0pID09PSAnWyJmb3J0eXR3byBvYmplY3RzIl0nOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIE51bWJlciB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSBhIHRvSlNPTiBjYWxsIHRvIGxpdGVyYWwgTnVtYmVyLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7DQogICAgcHJvcDo0MiwNCiAgICB0b0pTT046IGZ1bmN0aW9uICgpIHtyZXR1cm4gbmV3IE51bWJlcig0Mil9DQogICAgfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFtvYmpdKSA9PT0gJ1s0Ml0nOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMi1iLWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIEJvb2xlYW4gd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gYSB0b0pTT04gY2FsbCB0byBsaXRlcmFsIEJvb2xlYW4gdmFsdWVzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7DQogICAgcHJvcDo0MiwNCiAgICB0b0pTT046IGZ1bmN0aW9uICgpIHtyZXR1cm4gbmV3IEJvb2xlYW4odHJ1ZSl9DQogICAgfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFtvYmpdKSA9PT0gJ1t0cnVlXSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBzdHJpbmcgd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFjZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwgc3RyaW5ncy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoWzQyXSwgZnVuY3Rpb24oayx2KSB7cmV0dXJuIHY9PT00Mj8gbmV3IFN0cmluZygnZm9ydHl0d28nKTp2fSkgPT09ICdbImZvcnR5dHdvIl0nOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBOdW1iZXIgd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFjZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwgbnVtYmVycy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoWzQyXSwgZnVuY3Rpb24oayx2KSB7cmV0dXJuIHY9PT00Mj8gbmV3IE51bWJlcig4NCk6dn0pID09PSAnWzg0XSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzItMy1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBjb252ZXJ0cyBCb29sZWFuIHdyYXBwZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIHJlcGxhY2VyIGZ1bmN0aW9ucyB0byBsaXRlcmFsIG51bWJlcnMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFs0Ml0sIGZ1bmN0aW9uKGssdikge3JldHVybiB2PT09NDI/IG5ldyBCb29sZWFuKGZhbHNlKTp2fSkgPT09ICdbZmFsc2VdJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzQtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgYSBjaXJjdWxhciBvYmplY3QgdGhyb3dzIGEgZXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge307DQogIG9iai5wcm9wID0gb2JqOw0KICB0cnkgew0KICAgICBKU09OLnN0cmluZ2lmeShvYmopOw0KICAgICByZXR1cm4gZmFsc2U7ICAvLyBzaG91bGQgbm90IHJlYWNoIGhlcmUNCiAgICAgfQ0KICAgY2F0Y2ggKGUpIHtyZXR1cm4gdHJ1ZX0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzQtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgYSBjaXJjdWxhciBvYmplY3QgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt9Ow0KICBvYmoucHJvcCA9IG9iajsNCiAgdHJ5IHsNCiAgICAgSlNPTi5zdHJpbmdpZnkob2JqKTsNCiAgICAgcmV0dXJuIGZhbHNlOyAgLy8gc2hvdWxkIG5vdCByZWFjaCBoZXJlDQogICAgIH0NCiAgIGNhdGNoIChlKSB7cmV0dXJuIGUubmFtZT09PSdUeXBlRXJyb3InfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMy8xNS4xMi4zXzQtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgYSBpbmRpcmVjdGx5IGNpcmN1bGFyIG9iamVjdCB0aHJvd3MgYSBlcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7cDE6IHtwMjoge319fTsNCiAgb2JqLnAxLnAyLnByb3AgPSBvYmo7DQogIHRyeSB7DQogICAgIEpTT04uc3RyaW5naWZ5KG9iaik7DQogICAgIHJldHVybiBmYWxzZTsgIC8vIHNob3VsZCBub3QgcmVhY2ggaGVyZQ0KICAgICB9DQogICBjYXRjaCAoZSkge3JldHVybiAgdHJ1ZX0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEvMTUuMi4zLjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlIGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgJ3Byb3RvdHlwZScpOw0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"LyoqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEvUzE1LjIuMy4xX0EzLmpzCiAqLwoKICAvLyBDb3B5cmlnaHQgMjAwOSB0aGUgU3B1dG5payBhdXRob3JzLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKLyoqCiogQG5hbWU6IFMxNS4yLjMuMV9BMzsKKiBAc2VjdGlvbjogMTUuMi4zLjEsIDE1LjIuNDsKKiBAYXNzZXJ0aW9uOiBUaGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlOwoqIEBkZXNjcmlwdGlvbjogQ2hlY2tpbmcgaWYgZGVsZXRpbmcgIk9iamVjdC5wcm90b3R5cGUiIHByb3BlcnR5IGZhaWxzOwoqIEBub1N0cmljdAoqLwoKZGVsZXRlIE9iamVjdC5wcm90b3R5cGU7CgovL0NIRUNLIzIKaWYgKCEoT2JqZWN0Lmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoK","commentary":"","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnM7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QucHJldmVudEV4dGVuc2lvbnMubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh1bmRlZmluZWQpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobnVsbCk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnModHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcgcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucygiYWJjIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSByZXBlYXRlZCBjYWxscyB0byBwcmV2ZW50RXh0ZW5zaW9ucyBoYXZlIG5vIHNpZGUgZWZmZWN0cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIHRlc3RSZXN1bHQxID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgdGVzdFJlc3VsdDIgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICF0ZXN0UmVzdWx0MSAmJiAhdGVzdFJlc3VsdDI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBlZmZlY3Qgb2YgcHJldmVudEV4dGVudGlvbnMgbXVzdCBiZSB0ZXN0YWJsZSBieSBjYWxsaW5nIGlzRXh0ZW5zaWJsZQ0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIHJldHVybnMgaXRzIGFyZ3VtZW50cyBhZnRlciBzZXR0aW5nIGl0cyBleHRlbnNpYmxlIHByb3BlcnR5IHRvIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gID0ge307DQogIHZhciBvMiA9IHVuZGVmaW5lZDsNCg0KICBvMiA9IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgaWYgKG8yID09PSBvICYmIE9iamVjdC5pc0V4dGVuc2libGUobzIpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZykgcmV0dXJucyBmYWxzZSBpZiBhcmcgaXMgdGhlIHJldHVybmVkIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gaW5kZXhlZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoZXJyT2JqKTsNCg0KICAgICAgICBlcnJPYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFlcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gaW5kZXhlZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnT2JqOw0KICAgICAgICAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgYXJnT2JqID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZ09iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhhcmdPYmopOw0KDQogICAgICAgIGFyZ09ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byB0aGUgcmV0dXJuZWQgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIG9iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZnVuT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGZ1bk9iaik7DQoNCiAgICAgICAgZnVuT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhZnVuT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyck9iaik7DQoNCiAgICAgICAgYXJyT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYmJxIik7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHN0ck9iaik7DQoNCiAgICAgICAgc3RyT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhc3RyT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShib29sT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGJvb2xPYmopOw0KDQogICAgICAgIGJvb2xPYmouZXhOYW1lID0gMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFib29sT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigxMjMpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG51bU9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhudW1PYmopOw0KDQogICAgICAgIG51bU9iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW51bU9iai5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGRhdGVPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoZGF0ZU9iaik7DQoNCiAgICAgICAgZGF0ZU9iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWRhdGVPYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHJlZ09iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhyZWdPYmopOw0KDQogICAgICAgIHJlZ09iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIXJlZ09iai5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gdGhlIHJldHVybmVkIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZXJyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGVyck9iaik7DQoNCiAgICAgICAgZXJyT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhZXJyT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gbmFtZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhbiBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iajsNCiAgICAgICAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGFyZ09iaiA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShhcmdPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoYXJnT2JqKTsNCg0KICAgICAgICBhcmdPYmouZXhOYW1lID0gMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFhcmdPYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gcHJvcGVydGllcyBjYW4gc3RpbGwgYmUgZGVsZXRlZCBhZnRlciBleHRlbnNpb25zIGhhdmUgYmVlbiBwcmV2ZW50ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAxMiB9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gcHJvcGVydGllcyBjYW4gc3RpbGwgYmUgcmVhc3NpZ25lZCBhZnRlciBleHRlbnNpb25zIGhhdmUgYmVlbiBwcmV2ZW50ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAxMiB9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIG9iai5wcm9wID0gLTE7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIG9iai5wcm9wID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gW1tFeHRlbnNpYmxlXV06IGZhbHNlIG9uIGEgcHJvdG90eXBlIGRvZXNuJ3QgcHJldmVudCBhZGRpbmcgcHJvcGVydGllcyB0byBhbiBpbnN0YW5jZSB0aGF0IGluaGVyaXRzIGZyb20gdGhhdCBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShwcm90byk7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhwcm90byk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgY2hpbGQucHJvcCA9IDEwOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGZ1bk9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhmdW5PYmopOw0KDQogICAgICAgIGZ1bk9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWZ1bk9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyck9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhhcnJPYmopOw0KDQogICAgICAgIGFyck9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYmJxIik7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHN0ck9iaik7DQoNCiAgICAgICAgc3RyT2JqWzEwXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIXN0ck9iai5oYXNPd25Qcm9wZXJ0eSgiMTAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShzdHJPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoc3RyT2JqKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHJPYmosICIwIiwgeyB2YWx1ZTogImMiIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBwcmVDaGVjayAmJg0KICAgICAgICAgICAgICAgICFzdHJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiB0eXBlb2Ygc3RyT2JqWzBdID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYm9vbE9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhib29sT2JqKTsNCg0KICAgICAgICBib29sT2JqWzBdID0gMTI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhYm9vbE9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMTIzKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShudW1PYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobnVtT2JqKTsNCg0KICAgICAgICBudW1PYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFudW1PYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShkYXRlT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGRhdGVPYmopOw0KDQogICAgICAgIGRhdGVPYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFkYXRlT2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEwLzE1LjIuMy4xMC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYSBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShyZWdPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMocmVnT2JqKTsNCg0KICAgICAgICByZWdPYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFyZWdPYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuaXNTZWFsZWQ7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuaXNTZWFsZWQubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmlzU2VhbGVkKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQodGhpcyk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEJvb2xlYW4pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChCb29sZWFuLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoTnVtYmVyKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE51bWJlci5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE1hdGgpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKERhdGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChEYXRlLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoUmVnRXhwKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHAucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJlZ0V4cC5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChPYmplY3QpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoRXJyb3IucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFdmFsRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoRXZhbEVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSYW5nZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJhbmdlRXJyb3IpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWZlcmVuY2VFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChSZWZlcmVuY2VFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChTeW50YXhFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChTeW50YXhFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChUeXBlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoVHlwZUVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChVUklFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChVUklFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzU2VhbGVkIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEpTT04pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdC5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoT2JqZWN0LnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEZ1bmN0aW9uKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChGdW5jdGlvbi5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEFycmF5KTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChBcnJheS5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChTdHJpbmcpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjExLzE1LjIuMy4xMS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZy5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoU3RyaW5nLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuaXNGcm96ZW47DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuaXNGcm96ZW4ubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRnJvemVuKHVuZGVmaW5lZCk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0Zyb3plbihudWxsKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRnJvemVuKHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGZpcnN0IHBhcmFtICdPJyBpcyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNGcm96ZW4oImFiYyIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gYXBwbGllcyB0byBkZW5zZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBPYmplY3QuZnJlZXplKFswLCAxLCAyXSk7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gYXBwbGllcyB0byBzcGFyc2UgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3BhcnNlQXJyID0gWzAsIDFdOw0KICAgICAgICBzcGFyc2VBcnJbMTAwMDBdID0gMTAwMDA7DQoNCiAgICAgICAgc3BhcnNlQXJyID0gT2JqZWN0LmZyZWV6ZShzcGFyc2VBcnIpOw0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKHNwYXJzZUFycik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gYXBwbGllcyB0byBub24tYXJyYXkgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZGV4IG5hbWVkIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gT2JqZWN0LmZyZWV6ZSh7IDA6IDAsIDE6IDEsIDEwMDA6IDEwMDAgfSk7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmlzRnJvemVuKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBpcyBub3QgY29uc2lkZXJlZCBpbnRvIHRoZSBmb3IgZWFjaCBsb29wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgaXMgbm90IGNvbnNpZGVyZWQgaW50byB0aGUgZm9yIGVhY2ggbG9vcA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIA0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIkZhdGhlciIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyZyk7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKGFyZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgYSBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgb2JqLmxlbiA9IDEwMDsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gLSAnTycgaXMgYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gWzJdOw0KICAgICAgICBvYmoubGVuID0gMjAwOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDksDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoY2hpbGQpOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihjaGlsZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4oY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhjaGlsZCk7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoY2hpbGQpOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihjaGlsZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4oY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgaWYgJ08nIGNvbnRhaW5zIG93biB3cml0YWJsZSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGlmICdPJyBjb250YWlucyBvd24gY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0yLWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGlmICdPJyBjb250YWlucyBvd24gY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7IH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4odGhpcyk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEJvb2xlYW4pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihCb29sZWFuLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oTnVtYmVyKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE51bWJlci5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE1hdGgpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKERhdGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihEYXRlLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oUmVnRXhwKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHAucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFJlZ0V4cC5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihPYmplY3QpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oRXJyb3IucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFdmFsRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oRXZhbEVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSYW5nZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFJhbmdlRXJyb3IpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWZlcmVuY2VFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihSZWZlcmVuY2VFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChTeW50YXhFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihTeW50YXhFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChUeXBlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oVHlwZUVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChVUklFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihVUklFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEpTT04pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgdHJ1ZSB3aGVuIGFsbCBvd24gcHJvcGVydGllcyBvZiAnTycgYXJlIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSwgYW5kICdPJyBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28xIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7IH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdC5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oT2JqZWN0LnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEZ1bmN0aW9uKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihGdW5jdGlvbi5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEFycmF5KTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihBcnJheS5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihTdHJpbmcpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZy5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oU3RyaW5nLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEyLzE1LjIuMy4xMi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBpZiBleHRlbnNpYmxlIGlzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbih7fSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gT2JqZWN0LmlzRXh0ZW5zaWJsZSA7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmlzRXh0ZW5zaWJsZS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEEgbmV3bHkgY3JlYXRlZCBvYmplY3QgdXNpbmcgdGhlIE9iamVjdCBjb250cnVjdG9yIGhhcyBpdHMgW1tFeHRlbnNpYmxlXV0NCiAqIHByb3BlcnR5IHNldCB0byB0cnVlIGJ5IGRlZmF1bHQgKDE1LjIuMi4xLCBzdGVwIDgpLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0wLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIGlzIHRydWUgZm9yIG9iamVjdHMgY3JlYXRlZCB1c2luZyB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQoNCiAgaWYgKE9iamVjdC5pc0V4dGVuc2libGUobykgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0V4dGVuc2libGUodW5kZWZpbmVkKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNFeHRlbnNpYmxlKG51bGwpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0V4dGVuc2libGUodHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSgiYWJjIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5pc0V4dGVuc2libGUoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEdsb2JhbCkNCiAqLw0KDQpnbG9iYWwgPSB0aGlzOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUodGhpcyk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKFJlZ0V4cCk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRXJyb3IpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShKU09OKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChGdW5jdGlvbi5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRnVuY3Rpb24uY29uc3RydWN0b3IpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChGdW5jdGlvbi5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEZ1bmN0aW9uLnByb3RvdHlwZSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChBcnJheS5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEFycmF5LnByb3RvdHlwZSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChTdHJpbmcucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShTdHJpbmcucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChCb29sZWFuLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoQm9vbGVhbi5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChOdW1iZXIucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShOdW1iZXIucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChEYXRlLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRGF0ZS5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUobyk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChSZWdFeHAucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShSZWdFeHAucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEZ1bmN0aW9uLmNvbnN0cnVjdG9yDQogKiBGdW5jdGlvbi5wcm90b3R5cGUNCiAqIEFycmF5LnByb3RvdHlwZQ0KICogU3RyaW5nLnByb3RvdHlwZQ0KICogQm9vbGVhbi5wcm90b3R5cGUNCiAqIE51bWJlci5wcm90b3R5cGUNCiAqIERhdGUucHJvdG90eXBlDQogKiBSZWdFeHAucHJvdG90eXBlDQogKiBFcnJvci5wcm90b3R5cGUNCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xMy8xNS4yLjMuMTMtMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShFcnJvci5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgaWYgJ08nIGlzIGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIGZhbHNlIGlmICdPJyBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgaWYgTyBpcyBleHRlbnNpYmxlIGFuZCBoYXMgYSBwcm90b3R5cGUgdGhhdCBpcyBleHRlbnNpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgaWYgTyBpcyBleHRlbnNpYmxlIGFuZCBoYXMgYSBwcm90b3R5cGUgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhwcm90byk7DQogICAgICANCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIGZhbHNlIGlmIE8gaXMgbm90IGV4dGVuc2libGUgYW5kIGhhcyBhIHByb3RvdHlwZSB0aGF0IGlzIGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIGZhbHNlIGlmIE8gaXMgbm90IGV4dGVuc2libGUgYW5kIGhhcyBhIHByb3RvdHlwZSB0aGF0IGlzIG5vdCBleHRlbnNpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHByb3RvKTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRXh0ZW5zaWJsZShmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogDQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShmb28pOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShBcnJheSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoU3RyaW5nKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEJvb2xlYW4pOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoTnVtYmVyKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE1hdGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKE1hdGgpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKERhdGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5rZXlzOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5rZXlzLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXMoMCk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAoYm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIE9iamVjdC5rZXlzKHRydWUpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAoc3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXMoJ2FiYycpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAobnVsbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIE9iamVjdC5rZXlzKG51bGwpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdCAodW5kZWZpbmVkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXModW5kZWZpbmVkKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCg0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KICBpZiAoQXJyYXkuaXNBcnJheShhKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSAoY2hlY2sgW1tDbGFzc11dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7IHg6IDEsIHk6IDJ9Ow0KDQogIHZhciBhID0gT2JqZWN0LmtleXMobyk7DQogIHZhciBzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpOw0KICBpZiAocyA9PT0gJ1tvYmplY3QgQXJyYXldJykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSAoQXJyYXkgb3ZlcnJpZGRlbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBBcnJheSgpIHsgfQ0KDQogIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCg0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KDQogIHZhciBzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpOw0KICBpZiAocyA9PT0gJ1tvYmplY3QgQXJyYXldJykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSB0aGF0IGlzIGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKE9iamVjdC5pc0V4dGVuc2libGUoYSkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSB0aGF0IGlzIG5vdCBzZWFsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKE9iamVjdC5pc1NlYWxlZChhKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSB0aGF0IGlzIG5vdCBmcm96ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKE9iamVjdC5pc0Zyb3plbihhKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtICduJyBpcyAwIHdoZW4gJ08nIGRvZXNuJ3QgY29udGFpbiBvd24gZW51bWVyYWJsZSBkYXRhIG9yIGFjY2Vzc29yIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtICduJyBpcyB0aGUgY29ycmVjdCB2YWx1ZSB3aGVuIGVudW1lcmFibGUgcHJvcGVydGllcyBleGlzdCBpbiAnTycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgcHJvcDE6IDEwMDEsDQogICAgICAgICAgICBwcm9wMjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3A0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDQ7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIChhcnIubGVuZ3RoID09PSAyKSAmJiAoYXJyWzBdID09PSAicHJvcDEiKSAmJiAoYXJyWzFdID09PSAicHJvcDIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgaWYgKGEubGVuZ3RoID09PSAyICYmDQogICAgICBhWzBdID09PSAneCcgJiYNCiAgICAgIGFbMV0gPT09ICd5Jykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMgKGZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIGZvby54ID0gMTsNCiAgDQogIHZhciBhID0gT2JqZWN0LmtleXMoZm9vKTsNCiAgaWYgKGEubGVuZ3RoID09PSAxICYmDQogICAgICBhWzBdID09PSAneCcpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyByZXR1cm5zIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBBcnJheSBjb250YWluaW5nIG93biBlbnVtZXJhYmxlIHByb3BlcnRpZXMgKGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gWzEsIDJdOw0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KICBpZiAoYS5sZW5ndGggPT09IDIgJiYNCiAgICAgIGFbMF0gPT09ICcwJyAmJg0KICAgICAgYVsxXSA9PT0gJzEnKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8gQ29weXJpZ2h0IChjKSAyMDA5IEdvb2dsZSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIG9mIGFuIGFyZ3VtZW50cyBvYmplY3QgcmV0dXJucyB0aGUgaW5kaWNlcyBvZiB0aGUgZ2l2ZW4gYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gdGVzdEFyZ3MyKHgsIHksIHopIHsNCiAgICAvLyBQcm9wZXJ0aWVzIG9mIHRoZSBhcmd1bWVudHMgb2JqZWN0IGFyZSBlbnVtZXJhYmxlLg0KICAgIHZhciBhID0gT2JqZWN0LmtleXMoYXJndW1lbnRzKTsNCiAgICBpZiAoYS5sZW5ndGggPT09IDIgJiYgYVswXSA9PT0gIjAiICYmIGFbMV0gPT09ICIxIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGZ1bmN0aW9uIHRlc3RBcmdzMyh4LCB5LCB6KSB7DQogICAgLy8gUHJvcGVydGllcyBvZiB0aGUgYXJndW1lbnRzIG9iamVjdCBhcmUgZW51bWVyYWJsZS4NCiAgICB2YXIgYSA9IE9iamVjdC5rZXlzKGFyZ3VtZW50cyk7DQogICAgaWYgKGEubGVuZ3RoID09PSAzICYmIGFbMF0gPT09ICIwIiAmJiBhWzFdID09PSAiMSIgJiYgYVsyXSA9PT0gIjIiKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgZnVuY3Rpb24gdGVzdEFyZ3M0KHgsIHksIHopIHsNCiAgICAvLyBQcm9wZXJ0aWVzIG9mIHRoZSBhcmd1bWVudHMgb2JqZWN0IGFyZSBlbnVtZXJhYmxlLg0KICAgIHZhciBhID0gT2JqZWN0LmtleXMoYXJndW1lbnRzKTsNCiAgICBpZiAoYS5sZW5ndGggPT09IDQgJiYgYVswXSA9PT0gIjAiICYmIGFbMV0gPT09ICIxIiAmJiBhWzJdID09PSAiMiIgJiYgYVszXSA9PT0gIjMiKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIHRlc3RBcmdzMigxLCAyKSAmJiB0ZXN0QXJnczMoMSwgMiwgMykgJiYgdGVzdEFyZ3M0KDEsIDIsIDMsIDQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8gQ29weXJpZ2h0IChjKSAyMDA5IEdvb2dsZSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIG11c3QgcmV0dXJuIGEgZnJlc2ggYXJyYXkgb24gZWFjaCBpbnZvY2F0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGxpdGVyYWwgPSB7YTogMX07DQogIHZhciBrZXlzQmVmb3JlID0gT2JqZWN0LmtleXMobGl0ZXJhbCk7DQogIGlmIChrZXlzQmVmb3JlWzBdICE9ICdhJykgcmV0dXJuIGZhbHNlOw0KICBrZXlzQmVmb3JlWzBdID0gJ3gnOw0KICB2YXIga2V5c0FmdGVyID0gT2JqZWN0LmtleXMobGl0ZXJhbCk7DQogIHJldHVybiAoa2V5c0JlZm9yZVswXSA9PSAneCcpICYmIChrZXlzQWZ0ZXJbMF0gPT0gJ2EnKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IChpbnN0YW5jZW9mIEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyIGluc3RhbmNlb2YgQXJyYXk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGxlbmd0aCBvZiB0aGUgcmV0dXJuZWQgYXJyYXkgZXF1YWxzIHRoZSBudW1iZXIgb2Ygb3duIGVudW1lcmFibGUgcHJvcGVydGllcyBvZiAnTycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwMSwgcHJvcDI6IDEwMDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDMiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3A0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBzdGFydCBmcm9tIGluZGV4IDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwMSwgcHJvcDI6IDEwMDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDMiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3A0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KDApICYmIGFyclswXSA9PT0gInByb3AxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoMCkgJiYgYXJyWzBdID09PSAicHJvcCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBpbmhlcnRlZCBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgaXMgb3Zlci1yaWRkZW4gYnkgbm9uLWVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGRhdGEgcHJvcGVydHkgb2YgZGVuc2UgYXJyYXkgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gWzEsIDIsIDMsIDQsIDVdOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHZhciBpbml0VmFsdWUgPSAwOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFyci5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIGlmIChhcnJbcF0gIT09IGluaXRWYWx1ZS50b1N0cmluZygpKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaW5pdFZhbHVlKys7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIGRlbnNlIGFycmF5ICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFsyLCAzLCA0LCA1XTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnIuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGRhdGEgcHJvcGVydHkgb2Ygc3BhcnNlIGFycmF5ICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFsxLCAsIDMsICwgNV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgNSwgew0KICAgICAgICAgICAgdmFsdWU6IDcsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMCwgew0KICAgICAgICAgICAgdmFsdWU6ICJFbGVtZW50V2l0aExhcmdlSW5kZXgiLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICB2YXIgaW5kZXg7DQogICAgICAgIHZhciBpbml0VmFsdWUgPSAwOw0KICAgICAgICBmb3IgKGluZGV4ID0gMDsgaW5kZXggPCAzOyBpbmRleCsrKSB7DQogICAgICAgICAgICBpZiAoYXJyW2luZGV4XSAhPT0gaW5pdFZhbHVlLnRvU3RyaW5nKCkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpbml0VmFsdWUgKz0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChhcnIubGVuZ3RoICE9PSA0IHx8IGFyclszXSAhPT0gIjEwMDAwIikgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIHNwYXJzZSBhcnJheSAnTycgaXMgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbMSwgLCAzLCAsIDVdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxMDAwMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiRWxlbWVudFdpdGhMYXJnZUluZGV4IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyW3BdID09PSAiMTAwMDAiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGRhdGEgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJ4eXoiKTsNCiAgICAgICAgb2JqWy0yMF0gPSAtMjA7DQogICAgICAgIG9ialsyMF0gPSAyMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KGFycltpXSkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBvd24gZW51bWVyYWJsZSBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIFN0cmluZyBvYmplY3QgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygieHl6Iik7DQogICAgICAgIG9ialstMjBdID0gLTIwOw0KICAgICAgICBvYmpbMjBdID0gMjA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICBpZiAoIW9iai5oYXNPd25Qcm9wZXJ0eShhcnJbaV0pKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBhcnJbMF0gPT09ICJwcm9wIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG5vbi1lbnVtZXJhYmxlIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAxLCBwcm9wMjogMTAwMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDQiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwNCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgaWYgKGFycltwXSA9PT0gInByb3A0Iikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG5vbi1lbnVtZXJhYmxlIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgaXMgbm90IGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnIuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcDIiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVyaXRlZCBlbnVtZXJhYmxlIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImluaGVyaXRlZFByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDQ7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJpbmhlcml0ZWRQcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVyaXRlZCBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJpbmhlcml0ZWRQcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDQ7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFycltwXSA9PT0gImluaGVyaXRlZFByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVydGVkIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSB0aGF0IGlzIG92ZXItcmlkZGVuIGJ5IG5vbi1lbnVtZXJhYmxlIG93biBkYXRhIHByb3BlcnR5IGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDA0LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVydGVkIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSB0aGF0IGlzIG92ZXItcmlkZGVuIGJ5IG5vbi1lbnVtZXJhYmxlIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVydGVkIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBpcyBvdmVyLXJpZGRlbiBieSBub24tZW51bWVyYWJsZSBvd24gZGF0YSBwcm9wZXJ0eSBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ3ZhbHVlJyBhdHRyaWJ1dGUgb2YgZWxlbWVudCBpbiByZXR1cm5lZCBhcnJheSBpcyBjb3JyZWN0Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxIH07DQoNCiAgICAgICAgdmFyIGFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyYXksICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYy52YWx1ZSA9PT0gInByb3AxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ3dyaXRhYmxlJyBhdHRyaWJ1dGUgb2YgZWxlbWVudCBvZiByZXR1cm5lZCBhcnJheSBpcyBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEwMCB9Ow0KDQogICAgICAgIHZhciBhcnJheSA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFycmF5WzBdID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyYXksICIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnJheVswXSA9PT0gImlzV3JpdGFibGUiICYmIGRlc2MuaGFzT3duUHJvcGVydHkoIndyaXRhYmxlIikgJiYgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ2VudW1lcmFibGUnIGF0dHJpYnV0ZSBvZiBlbGVtZW50IG9mIHJldHVybmVkIGFycmF5IGlzIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwIH07DQoNCiAgICAgICAgdmFyIGFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFycmF5LCAiMCIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGFycmF5KSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGFycmF5W2luZGV4XSkgJiYgYXJyYXlbaW5kZXhdID09PSAicHJvcDEiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQgJiYgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZW51bWVyYWJsZSIpICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gVmVyaWZ5IHRoYXQgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlIG9mIGVsZW1lbnQgb2YgcmV0dXJuZWQgYXJyYXkgaXMgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAgfTsNCg0KICAgICAgICB2YXIgYXJyYXkgPSBPYmplY3Qua2V5cyhvYmopOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyYXksICIwIik7DQoNCiAgICAgICAgZGVsZXRlIGFycmF5WzBdOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgYXJyYXlbMF0gPT09ICJ1bmRlZmluZWQiICYmIGRlc2MuaGFzT3duUHJvcGVydHkoImNvbmZpZ3VyYWJsZSIpICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC01LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gVmVyaWZ5IHRoYXQgJ2luZGV4JyBvZiByZXR1cm5lZCBhcnJheSBpcyBhc2NlbmQgYnkgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAsIHByb3AyOiAyMDAsIHByb3AzOiAzMDAgfTsNCg0KICAgICAgICB2YXIgYXJyYXkgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHZhciBpZHggPSAwOw0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBhcnJheSkgew0KICAgICAgICAgICAgaWYgKGFycmF5Lmhhc093blByb3BlcnR5KGluZGV4KSkgew0KICAgICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gaWR4LnRvU3RyaW5nKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZHgrKzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoZGVuc2UgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlbnNlQXJyYXkgPSBbMSwgMiwgM107DQoNCiAgICAgICAgdmFyIHRlbXBBcnJheSA9IFtdOw0KICAgICAgICBmb3IgKHZhciBwIGluIGRlbnNlQXJyYXkpIHsNCiAgICAgICAgICAgIGlmIChkZW5zZUFycmF5Lmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdGVtcEFycmF5LnB1c2gocCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcmV0dXJuZWRBcnJheSA9IE9iamVjdC5rZXlzKGRlbnNlQXJyYXkpOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIHJldHVybmVkQXJyYXkpIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXhdICE9PSByZXR1cm5lZEFycmF5W2luZGV4XSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoc3BhcnNlIGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzcGFyc2VBcnJheSA9IFsxLCAyLCAsIDQsICwgNl07DQoNCiAgICAgICAgdmFyIHRlbXBBcnJheSA9IFtdOw0KICAgICAgICBmb3IgKHZhciBwIGluIHNwYXJzZUFycmF5KSB7DQogICAgICAgICAgICBpZiAoc3BhcnNlQXJyYXkuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMoc3BhcnNlQXJyYXkpOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIHJldHVybmVkQXJyYXkpIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXhdICE9PSByZXR1cm5lZEFycmF5W2luZGV4XSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoU3RyaW5nIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgdmFyIHRlbXBBcnJheSA9IFtdOw0KICAgICAgICBmb3IgKHZhciBwIGluIHN0cikgew0KICAgICAgICAgICAgaWYgKHN0ci5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHJldHVybmVkQXJyYXkgPSBPYmplY3Qua2V5cyhzdHIpOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIHJldHVybmVkQXJyYXkpIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXhdICE9PSByZXR1cm5lZEFycmF5W2luZGV4XSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoQXJndW1lbnRzIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBhcmdzID0gZnVuYygxLCAiYiIsIGZhbHNlKTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJncykgew0KICAgICAgICAgICAgaWYgKGFyZ3MuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMoYXJncyk7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gcmV0dXJuZWRBcnJheSkgew0KICAgICAgICAgICAgaWYgKHRlbXBBcnJheVtpbmRleF0gIT09IHJldHVybmVkQXJyYXlbaW5kZXhdKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoYW55IG90aGVyIGJ1aWx0LWluIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLnByb3AxID0gMTAwOw0KICAgICAgICBvYmoucHJvcDIgPSAicHJvcDIiOw0KDQogICAgICAgIHZhciB0ZW1wQXJyYXkgPSBbXTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiByZXR1cm5lZEFycmF5KSB7DQogICAgICAgICAgICBpZiAodGVtcEFycmF5W2luZGV4XSAhPT0gcmV0dXJuZWRBcnJheVtpbmRleF0pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjE0LzE1LjIuMy4xNC02LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIHRoZSBvcmRlciBvZiBlbGVtZW50cyBpbiByZXR1cm5lZCBhcnJheSBpcyB0aGUgc2FtZSB3aXRoIHRoZSBvcmRlciBvZiBwcm9wZXJ0aWVzIGluICdPJyAoZ2xvYmFsIE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdGVtcEFycmF5LnB1c2gocCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcmV0dXJuZWRBcnJheSA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gcmV0dXJuZWRBcnJheSkgew0KICAgICAgICAgICAgaWYgKHRlbXBBcnJheVtpbmRleF0gIT09IHJldHVybmVkQXJyYXlbaW5kZXhdKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICh0eXBlb2YoT2JqZWN0LmdldFByb3RvdHlwZU9mKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIG11c3QgdGFrZSAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKCk7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YodHJ1ZSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZigiYWJjIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKDApOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoQm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEJvb2xlYW4pID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJlZ0V4cCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKFJlZ0V4cCkgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEV2YWxFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEV2YWxFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJhbmdlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihSYW5nZUVycm9yKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJlZmVyZW5jZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoUmVmZXJlbmNlRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFN5bnRheEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoU3ludGF4RXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFR5cGVFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKFR5cGVFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFVSSUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoVVJJRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihKU09OKSA9PT0gT2JqZWN0LnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKE9iamVjdCBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gT2JqZWN0LnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIExldCAneCcgYmUgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGdldFByb3RvdHlwZU9mIHdoZW4gY2FsbGVkIG9uIGQuDQogKiBUaGVuLCB4LmlzUHJvdG90eXBlT2YoZCkgbXVzdCBiZSB0cnVlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoY3VzdG9tIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBiYXNlKCkge30NCg0KICBmdW5jdGlvbiBkZXJpdmVkKCkge30NCiAgZGVyaXZlZC5wcm90b3R5cGUgPSBuZXcgYmFzZSgpOw0KDQogIHZhciBkID0gbmV3IGRlcml2ZWQoKTsNCiAgdmFyIHggPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZCk7DQogIGlmICh4LmlzUHJvdG90eXBlT2YoZCkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEZ1bmN0aW9uIE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEFycmF5IG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDNdOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoYXJyKSA9PT0gQXJyYXkucHJvdG90eXBlOyANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFN0cmluZyBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gU3RyaW5nLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEJvb2xlYW4gb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IEJvb2xlYW4ucHJvdG90eXBlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKE51bWJlciBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTMpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gTnVtYmVyLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKERhdGUgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gRGF0ZS5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKFJlZ0V4cCBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IFJlZ0V4cC5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKEVycm9yIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopID09PSBFcnJvci5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKHRoZSBBcmd1bWVudHMgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IGZ1bigxLCB0cnVlLCAzKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IE9iamVjdC5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoT2JqZWN0KSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIHRoZSBbW1Byb3RvdHlwZV1dIG9mIGl0cyBwYXJhbWV0ZXIgKHRoZSBnbG9iYWwgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICByZXR1cm4gcHJvdG8uaXNQcm90b3R5cGVPZihmbkdsb2JhbE9iamVjdCgpKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRQcm90b3R5cGVPZiByZXR1cm5zIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKE9iamVjdC5wcm90b3R5cGUpID09PSBudWxsKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRnVuY3Rpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihGdW5jdGlvbikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihBcnJheSkgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoU3RyaW5nKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoTnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoTnVtYmVyKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoTWF0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKE1hdGgpID09PSBPYmplY3QucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjIvMTUuMi4zLjItMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRGF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKERhdGUpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAodHlwZW9mKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDIgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLmxlbmd0aCA9PT0gMikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1bmRlZmluZWQsICJmb28iKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobnVsbCwgImZvbyIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0cnVlLCAiZm9vIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBmaXJzdCBwYXJhbSBpcyBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKC0yLCAiZm9vIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoMCwgImZvbyIpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIHVuZGVmaW5lZCBmb3IgdW5kZWZpbmVkIHByb3BlcnR5IG5hbWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sIHVuZGVmaW5lZCk7DQogICAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgLTApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIzMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAzMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICItMjAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgLTIwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIkluZmluaXR5IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIEluZmluaXR5KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgK0luZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJJbmZpbml0eSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCArSW5maW5pdHkpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICItSW5maW5pdHkiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgLUluZmluaXR5KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjAgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjEgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZSsyMSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjIgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZSsyMiI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUrMjApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEwMDAwMDAwMDAwMDAwMDAwMDAwMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZSsyMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIHVuZGVmaW5lZCBmb3IgbnVsbCBwcm9wZXJ0eSBuYW1lDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCBudWxsKTsNCiAgICBpZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBzdHJpbmcgKHZhbHVlIGlzIDFlKzIxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZSsyMSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZSsyMSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUrMjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjFlKzIyIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDFlKzIyKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjAuMDAwMDAxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDAuMDAwMDAxKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZS03IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDAuMDAwMDAwMSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMWUtOCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAwLjAwMDAwMDAxKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMWUtNyI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZS03KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMC4wMDAwMDEiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMWUtNik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMC4wMDAwMSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZS01KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gaW50ZWdlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMyI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMjMpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBkZWNpbWFsIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMy40NTYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMy40NTYiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMTIzLjQ1Nik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAidW5kZWZpbmVkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS52YWx1ZSA9PT0gMSAmJiBkZXNjMi52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTAwMDAwMDAwMDAwMDAwMDAwMDAwLjEyMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMC4xMjMpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYyAhPT0gInVuZGVmaW5lZCIgJiYgZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzLjEyMzQ1NjcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMy4xMjM0NTY3IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEyMy4xMjM0NTY3KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBhbiBlbXB0eSBzdHJpbmcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIiI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBzdHJpbmcgJ0FCDQogKiBcY2QnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJBQlxuXFxjZCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiQUJcblxcY2QiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAndW5kZWZpbmVkJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAidW5kZWZpbmVkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnbnVsbCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIm51bGwiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIm51bGwiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBzdHJpbmcgJzEyM++/ve+/ve+/vcKm77+9Y2QnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxMjPvv73vv73vv73Cpu+/vWNkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIxMjPvv73vv73vv73Cpu+/vWNkIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYXBwbGllZCB0byBzdHJpbmcgJzEnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gYXJyYXkgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIFsxXSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBTdHJpbmcgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiSGVsbG8iOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmV3IFN0cmluZygiSGVsbG8iKSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBudWxsIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICdudWxsJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJudWxsIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG51bGwpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBCb29sZWFuIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInRydWUiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmV3IEJvb2xlYW4odHJ1ZSkpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYSBOdW1iZXIgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMTIzIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG5ldyBOdW1iZXIoMTIzKSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImFiYyI6IDEgfTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiW29iamVjdCBPYmplY3RdIjogMSwgImFiYyIgOiAyIH07DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9WYWx1ZSBtZXRob2QgdGhhdCByZXR1cm5zIGEgcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImFiYyI6IDEgfTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBhcmd1bWVudCAnUCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImJicSI6IDEsICJhYmMiOiAyIH07DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJiYnEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBvd25Qcm9wKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMSAmJiAhdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBUeXBlRXJyb3IgZXhjZXB0aW9uIHdhcyB0aHJvd24gIHdoZW4gJ1AnIGlzIGFuIG9iamVjdCB0aGF0IGJvdGggdG9TdHJpbmcgYW5kIHZhbHVlT2Ygd291bGRuJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxIjogMSB9Ow0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiBbMV07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIFsxXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSB1c2VzIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2Qgd2hlbiAnUCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHZhbHVlT2YgYW5kIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBwcm90by50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICJ0ZXN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC52YWx1ZU9mID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAiMTAiOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgb2JqID0geyAiMTAiOiAibGVuZ3RoMSIsICJ0ZXN0IjogImxlbmd0aDIiIH07DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gImxlbmd0aDIiICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgIXZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIGJvb2xlYW4gd2hvc2UgdmFsdWUgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiZmFsc2UiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgZmFsc2UpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIGJvb2xlYW4gd2hvc2UgdmFsdWUgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJ0cnVlIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHRydWUpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIk5hTiI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBOYU4pOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIwIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCArMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHByb3BlcnR5OiAib3duRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSAnUCcgaXMgbm90IGFuIGV4aXN0aW5nIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Tm9uRXhpc3QiKTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCJvd25Qcm9wZXJ0eSIsIHRydWUpKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJnLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duUHJvcGVydHkiICYmIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXBwbGllZCB0byBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIxMjMiKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3RyLCAiMiIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAiMyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXBwbGllZCB0byBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9ICJvd25Qcm9wZXJ0eSI7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjEiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gIm93blByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnB0b3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYyA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnB0b3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQucHJvcGVydHkgPSAib3duRGF0YVByb3BlcnR5IjsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnB0b3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogIm93bkRhdGFQcm9wZXJ0eSIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHByb3BlcnR5OiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wdG90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuZ2V0ID09PSBmdW47DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHRvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtMy05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5zZXQgPT09IGZ1bjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFuIG9iamVjdCByZXByZXNlbnRpbmcgYSBkYXRhIGRlc2MgZm9yIHZhbGlkIGRhdGEgdmFsdWVkIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgb1siZm9vIl0gPSAxMDE7DQoNCiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIGlmIChkZXNjLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgICAgIWRlc2MuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICFkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKSkgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5kZWNvZGVVUklDb21wb25lbnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiZGVjb2RlVVJJQ29tcG9uZW50Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuZGVjb2RlVVJJQ29tcG9uZW50ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmF0YW4yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiYXRhbjIiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYXRhbjIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmNlaWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJjZWlsIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLmNlaWwgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmNvcykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImNvcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5jb3MgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmV4cCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImV4cCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5leHAgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmZsb29yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiZmxvb3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguZmxvb3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLmxvZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImxvZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5sb2cgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLm1heCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIm1heCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5tYXggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLm1pbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIm1pbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5taW4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnBvdykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInBvdyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5wb3cgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnJhbmRvbSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInJhbmRvbSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5yYW5kb20gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5lbmNvZGVVUklDb21wb25lbnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiZW5jb2RlVVJJQ29tcG9uZW50Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuZW5jb2RlVVJJQ29tcG9uZW50ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnJvdW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAicm91bmQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGgucm91bmQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnNpbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInNpbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5zaW4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnNxcnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJzcXJ0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLnNxcnQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChNYXRoLnRhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInRhbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC50YW4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnBhcnNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLCAicGFyc2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucGFyc2UgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLlVUQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZSwgIlVUQyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5VVEMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRUaW1lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFRpbWUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFRpbWUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRUaW1lem9uZU9mZnNldCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRZZWFyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFllYXIiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC5lc2NhcGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICJlc2NhcGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5lc2NhcGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0RnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXREYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldERhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldERhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXREYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0RGF5Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXREYXkgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldE1pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFNlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0TWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEdsb2JhbC51bmVzY2FwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgICJ1bmVzY2FwZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLnVuZXNjYXBlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ0RhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VVRDRGF5Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDSG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ01pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ1NlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VVRDTWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRUaW1lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFRpbWUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFRpbWUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRZZWFyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFllYXIiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0TW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5nZXRQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZ2V0UHJvdG90eXBlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXREYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldERhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldERhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0SG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldE1pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFNlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0TWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENGdWxsWWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRnVsbFllYXIgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENNb250aCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTW9udGggJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ0RhdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENIb3VycyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ01pbnV0ZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImdldE93blByb3BlcnR5RGVzY3JpcHRvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENTZWNvbmRzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ1NlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0VVRDTWlsbGlzZWNvbmRzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRVVENNaWxsaXNlY29uZHMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0xvY2FsZVN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b1VUQ1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0dNVFN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0dNVFN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9HTVRTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9UaW1lU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9EYXRlU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0RhdGVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9Mb2NhbGVEYXRlU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZURhdGVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9Mb2NhbGVUaW1lU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJnZXRPd25Qcm9wZXJ0eU5hbWVzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS52YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnZhbHVlT2YgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0lTT1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZS50b0pTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9KU09OIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0pTT04gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmNvbXBpbGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJjb21waWxlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLmNvbXBpbGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmV4ZWMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJleGVjIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLmV4ZWMgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLnRlc3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJ0ZXN0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWdFeHAucHJvdG90eXBlLnRlc3QgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChFcnJvci5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVycm9yLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImNyZWF0ZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmNyZWF0ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChFdmFsRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFdmFsRXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEV2YWxFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSYW5nZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmFuZ2VFcnJvci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gUmFuZ2VFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChSZWZlcmVuY2VFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZmVyZW5jZUVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSZWZlcmVuY2VFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChTeW50YXhFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN5bnRheEVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTeW50YXhFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChUeXBlRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihUeXBlRXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFR5cGVFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChVUklFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFVSSUVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBVUklFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChKU09OLnN0cmluZ2lmeSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNPTiwgInN0cmluZ2lmeSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gSlNPTi5zdHJpbmdpZnkgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChKU09OLnBhcnNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU09OLCAicGFyc2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEpTT04ucGFyc2UgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoR2xvYmFsLk5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICJOYU4iKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICByZXR1cm4gZmFsc2U7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoR2xvYmFsLkluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm5HbG9iYWxPYmplY3QoKSwgICJJbmZpbml0eSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHJldHVybiBmYWxzZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZGVmaW5lUHJvcGVydHkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnVuZGVmaW5lZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAvLyBpbiBub24tc3RyaWN0IG1vZGUsICd0aGlzJyBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIG9iamVjdC4NCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICAidW5kZWZpbmVkIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcHJvcGVydHkgKGFyZ3VtZW50c18xKSBvbiBidWlsdC1pbiBvYmplY3QgKEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbiwgImFyZ3VtZW50c18xIik7DQoNCiAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsNCiAgZWxzZQ0KICAgIHJldHVybiBmYWxzZTsgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcHJvcGVydHkgKGNhbGxlcikgb24gYnVpbHQtaW4gb2JqZWN0IChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiY2FsbGVyIik7DQoNCiAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICBlbHNlDQogICAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbiwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ubGVuZ3RoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbiwgImxlbmd0aCIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24gKGluc3RhbmNlKS5sZW5ndGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBGdW5jdGlvbigncmV0dXJuIDQyOycpOw0KDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcHJvcGVydGllcyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uIChpbnN0YW5jZSkubmFtZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEZ1bmN0aW9uKCdyZXR1cm4gNDI7Jyk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAiZnVuY3Rpb25OYW1lSG9wZWZ1bGx5RG9lc05vdEV4aXN0Iik7DQogIHJldHVybiBkZXNjID09PSB1bmRlZmluZWQ7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheSwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJkZWZpbmVQcm9wZXJ0aWVzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nLmxlbmd0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3RyaW5nIChpbnN0YW5jZSkubGVuZ3RoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiYWJjIik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQm9vbGVhbi5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4sICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoQm9vbGVhbi5sZW5ndGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4sICJsZW5ndGgiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk1BWF9WQUxVRSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAiTUFYX1ZBTFVFIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk1JTl9WQUxVRSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAiTUlOX1ZBTFVFIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAiTmFOIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJORUdBVElWRV9JTkZJTklUWSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIHVuZGVmaW5lZCBmb3Igbm9uLWV4aXN0ZW50IHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQoNCiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIGlmIChkZXNjID09PSB1bmRlZmluZWQpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5zZWFsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJzZWFsIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3Quc2VhbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJQT1NJVElWRV9JTkZJTklUWSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTnVtYmVyLmxlbmd0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5FKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiRSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MTjEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiTE4xMCIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MTjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJMTjIiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MT0cyRSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIkxPRzJFIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5MT0cxMEUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJMT0cxMEUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5QSSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIlBJIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5TUVJUMV8yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiU1FSVDFfMiIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoTWF0aC5TUVJUMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIlNRUlQyIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5mcmVlemUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImZyZWV6ZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmZyZWV6ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRGF0ZS5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5zb3VyY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJzb3VyY2UiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5nbG9iYWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJnbG9iYWwiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5pZ25vcmVDYXNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAiaWdub3JlQ2FzZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVnRXhwLnByb3RvdHlwZS5tdWx0aWxpbmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJtdWx0aWxpbmUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRXZhbEVycm9yLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXZhbEVycm9yLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmFuZ2VFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJhbmdlRXJyb3IsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoUmVmZXJlbmNlRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWZlcmVuY2VFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAicHJldmVudEV4dGVuc2lvbnMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoU3ludGF4RXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTeW50YXhFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoVHlwZUVycm9yLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoVHlwZUVycm9yLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIChhbGwgZmFsc2UpIGZvciBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoVVJJRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihVUklFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3ZhbHVlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3dyaXRhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZXNjLnZhbHVlID0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2VudW1lcmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJ2YWx1ZSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAidmFsdWUiIGluIGRlc2M7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBkZXNjLnZhbHVlOw0KICAgICAgICAgICAgdmFyIHByb3BEZWxldGVkID0gInZhbHVlIiBpbiBkZXNjOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcERlZmluZWQgJiYgIXByb3BEZWxldGVkOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3ZhbHVlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLndyaXRhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4zLzE1LjIuMy4zLTQtMjI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGVuc3VyZSB0aGF0ICd3cml0YWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVzYy53cml0YWJsZSA9ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgcmV0dXJuIGRlc2Mud3JpdGFibGUgPT09ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2VudW1lcmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3BzIGluIGRlc2MpIHsNCiAgICAgICAgICAgIGlmIChwcm9wcyA9PT0gIndyaXRhYmxlIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc1NlYWxlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNTZWFsZWQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5pc1NlYWxlZCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAoIndyaXRhYmxlIiBpbiBkZXNjKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIGRlc2Mud3JpdGFibGU7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAid3JpdGFibGUiIGluIGRlc2M7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wRGVmaW5lZCAmJiAhcHJvcERlbGV0ZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAndmFsdWUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnd3JpdGFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlc2MuZW51bWVyYWJsZSA9ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgcmV0dXJuIGRlc2MuZW51bWVyYWJsZSA9PT0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnZW51bWVyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcHMgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3BzID09PSAiZW51bWVyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnY29uZmlndXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHZhciBwcm9wRGVmaW5lZCA9ICJlbnVtZXJhYmxlIiBpbiBkZXNjOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy5lbnVtZXJhYmxlOw0KICAgICAgICAgICAgdmFyIHByb3BEZWxldGVkID0gImVudW1lcmFibGUiIGluIGRlc2M7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wRGVmaW5lZCAmJiAhcHJvcERlbGV0ZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd2YWx1ZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5jb25maWd1cmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVzYy53cml0YWJsZSA9ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgcmV0dXJuIGRlc2Mud3JpdGFibGUgPT09ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdlbnVtZXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIGRlc2MpIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdjb25maWd1cmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdmFyIHByb3BEZWZpbmVkID0gImNvbmZpZ3VyYWJsZSIgaW4gZGVzYzsNCiAgICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy5jb25maWd1cmFibGU7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAiY29uZmlndXJhYmxlIiBpbiBkZXNjOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcERlZmluZWQgJiYgIXByb3BEZWxldGVkOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd2YWx1ZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5nZXQgPT09IGZ1bjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc0Zyb3plbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNGcm96ZW4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5pc0Zyb3plbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25HZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZXNjLmdldCA9ICJvdmVyd3JpdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy5nZXQgPT09ICJvdmVyd3JpdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdlbnVtZXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIGRlc2MpIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiZ2V0Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ2dldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdjb25maWd1cmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdmFyIHByb3BEZWZpbmVkID0gImdldCIgaW4gZGVzYzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIGRlc2MuZ2V0Ow0KICAgICAgICAgICAgdmFyIHByb3BEZWxldGVkID0gImdldCIgaW4gZGVzYzsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BEZWZpbmVkICYmICFwcm9wRGVsZXRlZDsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd2YWx1ZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25TZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnNldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25TZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZXNjLnNldCA9ICJvdmVyd3JpdGVTZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy5zZXQgPT09ICJvdmVyd3JpdGVTZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdlbnVtZXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93blNldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJzZXQiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gZW5zdXJlIHRoYXQgJ3NldCcgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdjb25maWd1cmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duU2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAic2V0IiBpbiBkZXNjOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy5zZXQ7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAic2V0IiBpbiBkZXNjOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcERlZmluZWQgJiYgIXByb3BEZWxldGVkOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2Ygb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogMTAwIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MgaW5zdGFuY2VvZiBPYmplY3Q7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgb2JqZWN0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSAndmFsdWUnIGlmIHRoZSB2YWx1ZSBvZiBwcm9wZXJ0eSAndmFsdWUnIGlzIG5vdCBleHBsaWNpdGx5IHNwZWNpZmllZCB3aGVuIGRlZmluZWQgYnkgT2JqZWN0LmRlZmluZVByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gInZhbHVlIiBpbiBkZXNjOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgb2JqZWN0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSAnc2V0JyBpZiB0aGUgdmFsdWUgb2YgcHJvcGVydHkgJ3NldCcgaXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIHdoZW4gZGVmaW5lZCBieSBPYmplY3QuZGVmaW5lUHJvcGVydHkuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gInNldCIgaW4gZGVzYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5pc0V4dGVuc2libGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImlzRXh0ZW5zaWJsZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmlzRXh0ZW5zaWJsZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gcmV0dXJuZWQgb2JqZWN0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSAnZ2V0JyBpZiB0aGUgdmFsdWUgb2YgcHJvcGVydHkgJ2dldCcgaXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIHdoZW4gZGVmaW5lZCBieSBPYmplY3QuZGVmaW5lUHJvcGVydHkuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHt9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiAiZ2V0IiBpbiBkZXNjOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5rZXlzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJrZXlzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3Qua2V5cyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGFuIG9iamVjdCByZXByZXNlbnRpbmcgYW4gYWNjZXNzb3IgZGVzYyBmb3IgdmFsaWQgYWNjZXNzb3IgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCg0KICAgIC8vIGR1bW15IGdldHRlcg0KICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9DQogICAgdmFyIGQgPSB7IGdldDogZ2V0dGVyIH07DQoNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQpOw0KDQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICBpZiAoZGVzYy5nZXQgPT09IGdldHRlciAmJg0KICAgICAgICBkZXNjLnNldCA9PT0gdW5kZWZpbmVkICYmDQogICAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgImlzUHJvdG90eXBlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJoYXNPd25Qcm9wZXJ0eSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJwcm9wZXJ0eUlzRW51bWVyYWJsZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICJ0b0xvY2FsZVN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAiYXBwbHkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJjYWxsIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJiaW5kIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmV2YWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiZXZhbCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmV2YWwgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5jb25jYXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImNvbmNhdCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmNvbmNhdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5qb2luKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJqb2luIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuam9pbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZXZlcnNlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zbGljZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAic2xpY2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5zbGljZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zb3J0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJzb3J0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuc29ydCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5wdXNoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJwdXNoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUucHVzaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5wb3ApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInBvcCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnBvcCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zaGlmdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAic2hpZnQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5zaGlmdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJ1bnNoaWZ0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUudW5zaGlmdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnBhcnNlSW50KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgInBhcnNlSW50Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwucGFyc2VJbnQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInNwbGljZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnNwbGljZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAidG9Mb2NhbGVTdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJpbmRleE9mIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAibGFzdEluZGV4T2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5ldmVyeSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiZXZlcnkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5ldmVyeSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5zb21lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJzb21lIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuc29tZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJmb3JFYWNoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5tYXApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgIm1hcCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLm1hcCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5maWx0ZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImZpbHRlciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmZpbHRlciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5yZWR1Y2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnBhcnNlRmxvYXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICJwYXJzZUZsb2F0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwucGFyc2VGbG9hdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlUmlnaHQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5mcm9tQ2hhckNvZGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZywgImZyb21DaGFyQ29kZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY2hhckF0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAiY2hhckF0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImNoYXJDb2RlQXQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuY29uY2F0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAiY29uY2F0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImluZGV4T2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJsYXN0SW5kZXhPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUubWF0Y2gpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJtYXRjaCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5tYXRjaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC02OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInJlcGxhY2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmlzTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgImlzTmFOIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuaXNOYU4gJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic2VhcmNoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc2xpY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzbGljZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5zbGljZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3BsaXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzcGxpdCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic3Vic3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAic3Vic3RyIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnN1YnN0ciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b0xvd2VyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b1VwcGVyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b0xvY2FsZUxvd2VyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmlzRmluaXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgImlzRmluaXRlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuaXNGaW5pdGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0b0xvY2FsZVVwcGVyQ2FzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImxvY2FsZUNvbXBhcmUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN0cmluZy5wcm90b3R5cGUudHJpbSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInRyaW0iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUudHJpbSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihCb29sZWFuLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBCb29sZWFuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihCb29sZWFuLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4ucHJvdG90eXBlLCAidmFsdWVPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmRlY29kZVVSSSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgImRlY29kZVVSSSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmRlY29kZVVSSSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJ0b0xvY2FsZVN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvRml4ZWQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9FeHBvbmVudGlhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvRXhwb25lbnRpYWwiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudG9FeHBvbmVudGlhbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudG9QcmVjaXNpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlci5wcm90b3R5cGUsICJ0b1ByZWNpc2lvbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b1ByZWNpc2lvbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE51bWJlci5wcm90b3R5cGUudmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInZhbHVlT2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYWJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiYWJzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLmFicyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYWNvcykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImFjb3MiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYWNvcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYXNpbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImFzaW4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYXNpbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjMvMTUuMi4zLjMtNC05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYXRhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImF0YW4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYXRhbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKHR5cGVvZihPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcykgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcy5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoImFiYyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSByZXR1cm5lZCBhcnJheSBpcyBhbiBhcnJheSBhY2NvcmRpbmcgdG8gQXJyYXkuaXNBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShyZXN1bHQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSByZXR1cm5lZCBhcnJheSBpcyBhbiBpbnN0YW5jZSBvZiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdCBpbnN0YW5jZW9mIEFycmF5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBsZW5ndGggb2YgcmV0dXJuZWQgYXJyYXkgaXMgaW5pdGlhbGl6ZWQgdG8gMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0Lmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSByZXR1cm5lZCBhcnJheSBpcyB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gY29uc3RydWN0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2xkQXJyYXkgPSBBcnJheTsNCiAgICAgICAgQXJyYXkgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImludm9rZSBjdXN0b21lciBkZWZpbmVkIEFycmF5ISIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyZXN1bHQpID09PSAiW29iamVjdCBBcnJheV0iOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkgPSBvbGRBcnJheTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBlbGVtZW50cyBvZiB0aGUgcmV0dXJuZWQgYXJyYXkgc3RhcnQgZnJvbSBpbmRleCAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEwMDEgfTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KDApICYmIGFyclswXSA9PT0gInByb3AxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgcmV0dXJucyBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyAoR2xvYmFsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhmbkdsb2JhbE9iamVjdCgpKTsNCiAgICAgICAgdmFyIGV4cFJlc3VsdCA9IFsiTmFOIiwgIkluZmluaXR5IiwgInVuZGVmaW5lZCIsICJldmFsIiwgInBhcnNlSW50IiwgInBhcnNlRmxvYXQiLCAiaXNOYU4iLCAiaXNGaW5pdGUiLCAiZGVjb2RlVVJJIiwgImRlY29kZVVSSUNvbXBvbmVudCIsICJlbmNvZGVVUkkiLCAiZW5jb2RlVVJJQ29tcG9uZW50IiwgIk9iamVjdCIsICJGdW5jdGlvbiIsICJBcnJheSIsICJTdHJpbmciLCAiQm9vbGVhbiIsICJOdW1iZXIiLCAiRGF0ZSIsICJEYXRlIiwgIlJlZ0V4cCIsICJFcnJvciIsICJFdmFsRXJyb3IiLCAiUmFuZ2VFcnJvciIsICJSZWZlcmVuY2VFcnJvciIsICJTeW50YXhFcnJvciIsICJUeXBlRXJyb3IiLCAiVVJJRXJyb3IiLCAiTWF0aCIsICJKU09OIl07DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB7fTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIHJlc3VsdDFbcmVzdWx0W3BdXSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBmb3IgKHZhciBwMSBpbiBleHBSZXN1bHQpIHsNCiAgICAgICAgICAgIGlmICghcmVzdWx0MVtleHBSZXN1bHRbcDFdXSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgcmV0dXJucyBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhPYmplY3QpOw0KICB2YXIgZXhwUmVzdWx0ID0gWyJnZXRQcm90b3R5cGVPZiIsICJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCAiZ2V0T3duUHJvcGVydHlOYW1lcyIsICJjcmVhdGUiLCAiZGVmaW5lUHJvcGVydHkiLCAiZGVmaW5lUHJvcGVydGllcyIsICJzZWFsIiwgImZyZWV6ZSIsICJwcmV2ZW50RXh0ZW5zaW9ucyIsICJpc1NlYWxlZCIsICJpc0Zyb3plbiIsICJpc0V4dGVuc2libGUiLCAia2V5cyIsICJwcm90b3R5cGUiLCAibGVuZ3RoIl07DQogIHZhciBmb3VuZDsNCg0KICByZXR1cm4gYXJyYXlDb250YWlucyhyZXN1bHQsIGV4cFJlc3VsdCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGRhdGEgcHJvcGVydGllcyBhcmUgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAicGFyZW50IjogInBhcmVudCIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJwYXJlbnQiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnRpZXMgYXJlIG5vdCBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicGFyZW50Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJwYXJlbnQiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJwYXJlbnQiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGRhdGEgcHJvcGVydGllcyBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAiYSI6ICJhIiB9Ow0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHJldHVybiByZXN1bHRbMF0gPT09ICJhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGFjY2Vzc29yIHByb3BlcnRpZXMgYXJlIHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0WzBdID09PSAiYSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eSA9ICJwcm90b1N0cmluZyI7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzdHIpOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJwcm90b1Byb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3RvUHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIFN0cmluZyBvYmplY3QgJ08nIGlzIG5vdCBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInByb3RvUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG9TdHJpbmciOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHN0cik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gInByb3RvUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3RvUHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGRhdGEgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJvd25Qcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3duU3RyaW5nIiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoc3RyKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gIm93blByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mIFN0cmluZyBvYmplY3QgJ08nIGlzIHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc3RyLCAib3duUHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93blN0cmluZyI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzdHIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAib3duUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGluZGV4IHByb3BlcnRpZXMgb2YgU3RyaW5nIG9iamVjdCBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQogICAgICAgIHN0cls1XSA9ICJkZSI7DQoNCiAgICAgICAgdmFyIGV4cFJlc3VsdCA9IFsiMCIsICIxIiwgIjIiLCAibGVuZ3RoIiwgIjUiXTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoc3RyKTsNCg0KICAgICAgICByZXR1cm4gY29tcGFyZUFycmF5KGV4cFJlc3VsdCwgcmVzdWx0KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb2YgQXJyYXkgb2JqZWN0ICdPJyBpcyBub3QgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eSA9ICJwcm90b0FycmF5IjsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFycik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gInByb3RvUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mIEFycmF5IG9iamVjdCAnTycgaXMgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInByb3RvUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG9BcnJheSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXJyKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAicHJvdG9Qcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wcm90b1Byb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGRhdGEgcHJvcGVydHkgb2YgQXJyYXkgb2JqZWN0ICdPJyBpcyBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KICAgICAgICBhcnIub3duUHJvcGVydHkgPSAib3duQXJyYXkiOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAib3duUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mIEFycmF5IG9iamVjdCAnTycgaXMgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIm93blByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BcnJheSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAib3duUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIGluZGV4IHByb3BlcnRpZXMgb2YgQXJyYXkgb2JqY2VjdCBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB2YXIgZXhwUmVzdWx0ID0gWyIwIiwgIjEiLCAiMiIsICJsZW5ndGgiXTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXJyKTsNCg0KICAgICAgICByZXR1cm4gY29tcGFyZUFycmF5KGV4cFJlc3VsdCwgcmVzdWx0KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gbm9uLWVudW1lcmFibGUgb3duIHByb3BlcnR5IG9mICdPJyBpcyBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIm5vbkVudW1lcmFibGVQcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdFswXSA9PT0gIm5vbkVudW1lcmFibGVQcm9wIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGRlc2NyaXB0b3Igb2YgcmVzdWx0YW50IGFycmF5IGlzIGFsbCB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsNCiAgb2JqLnggPSAxOw0KICBvYmoueSA9IDI7DQogIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocmVzdWx0LCIwIik7DQogIGlmIChkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGFsbCBvd24gcHJvcGVydGllcyBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImEiOiAiYSIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYiI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImMiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImQiLCB7DQogICAgICAgICAgICB2YWx1ZTogImQiLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQogICAgICAgIHZhciBleHBSZXN1bHQgPSBbImEiLCAiYiIsICJjIiwgImQiXTsNCg0KICAgICAgICByZXR1cm4gY29tcGFyZUFycmF5KGV4cFJlc3VsdCwgcmVzdWx0KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIG93biBwcm9wZXJ0eSBuYW1lZCBlbXB0eSgnJykgaXMgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIiI6ICJlbXB0eSIgfTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gIiIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBhcmUgd3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiYSI6ICJhIiB9Ow0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgYmVmb3JlT3ZlcnJpZGUgPSAocmVzdWx0WzBdID09PSAiYSIpOw0KICAgICAgICAgICAgcmVzdWx0WzBdID0gImIiOw0KICAgICAgICAgICAgdmFyIGFmdGVyT3ZlcnJpZGUgPSAocmVzdWx0WzBdID09PSAiYiIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlT3ZlcnJpZGUgJiYgYWZ0ZXJPdmVycmlkZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBhcmUgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJhIjogImEiIH07DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJhIikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjQvMTUuMi4zLjQtNC1iLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBhcmUgY29uZmlndXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImEiOiAiYSIgfTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IChyZXN1bHQuaGFzT3duUHJvcGVydHkoIjAiKSk7DQogICAgICAgIGRlbGV0ZSByZXN1bHRbMF07DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSAocmVzdWx0Lmhhc093blByb3BlcnR5KCIwIikpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkICYmICFhZnRlckRlbGV0ZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAodHlwZW9mKE9iamVjdC5jcmVhdGUpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDIgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuY3JlYXRlLmxlbmd0aCA9PT0gMikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKDIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICBPYmplY3QuY3JlYXRlKDApOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0byBmaXJzdCBwYXJhbWV0ZXIuDQogKiBUaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2YsIG9yIGdldFByb3RvdHlwZU9mLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBjcmVhdGVzIG5ldyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KICAgIHZhciBiID0gbmV3IGJhc2UoKTsNCiAgICB2YXIgcHJvcCA9IG5ldyBPYmplY3QoKTsNCiAgICB2YXIgZCA9IE9iamVjdC5jcmVhdGUoYik7DQoNCiAgICBpZiAodHlwZW9mIGQgPT09ICdvYmplY3QnKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIHJldHVybmVkIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iaiBpbnN0YW5jZW9mIE9iamVjdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0byBmaXJzdCBwYXJhbWV0ZXIuDQogKiBUaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2YsIG9yIGdldFByb3RvdHlwZU9mLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBzZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIHBhc3NlZC1pbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KICAgIHZhciBiID0gbmV3IGJhc2UoKTsNCiAgICB2YXIgZCA9IE9iamVjdC5jcmVhdGUoYik7DQoNCiAgICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKGQpID09PSBiICYmDQogICAgICAgIGIuaXNQcm90b3R5cGVPZihkKSA9PT0gdHJ1ZSkgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIGNyZWF0ZSBzZXRzIHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBjcmVhdGVkIG9iamVjdCB0byBmaXJzdCBwYXJhbWV0ZXIuDQogKiBUaGlzIGNhbiBiZSBjaGVja2VkIHVzaW5nIGlzUHJvdG90eXBlT2YsIG9yIGdldFByb3RvdHlwZU9mLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSBzZXRzIHRoZSBwcm90b3R5cGUgb2YgdGhlIHBhc3NlZC1pbiBvYmplY3QgYW5kIGFkZHMgbmV3IHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KICAgIHZhciBiID0gbmV3IGJhc2UoKTsNCiAgICB2YXIgcHJvcCA9IG5ldyBPYmplY3QoKTsNCiAgICB2YXIgZCA9IE9iamVjdC5jcmVhdGUoYix7ICJ4Ijoge3ZhbHVlOiB0cnVlLHdyaXRhYmxlOiBmYWxzZX0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieSI6IHt2YWx1ZTogInN0ciIsd3JpdGFibGU6IGZhbHNlfSB9KTsNCg0KICAgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoZCkgPT09IGIgJiYNCiAgICAgICAgYi5pc1Byb3RvdHlwZU9mKGQpID09PSB0cnVlICYmDQogICAgICAgIGQueCA9PT0gdHJ1ZSAmJg0KICAgICAgICBkLnkgPT09ICJzdHIiICYmDQogICAgICAgIGIueCA9PT0gdW5kZWZpbmVkICYmDQogICAgICAgIGIueSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNYXRoLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBNYXRoKTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIE1hdGgpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgRGF0ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gW107DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogSlNPTiANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJnT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBmbkdsb2JhbE9iamVjdCgpIA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBmYWxzZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAwICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IEpTT04pOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgSlNPTik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyArMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICswDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAtMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBOYU4gKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IDEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IC0xMjMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBbXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3RyaW5nKCJhYmMiKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykpLmZvckVhY2goZnVuY3Rpb24obmFtZSl7DQogICAgICAgICAgICBwcm9wc1tuYW1lXSA9IHt2YWx1ZToxMSwgY29uZmlndXJhYmxlOnRydWV9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AxNV8yXzNfNV80XzE0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcDE1XzJfM181XzRfMTQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgTnVtYmVyKDEyMykNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgUmVnRXhwKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgRXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogYXJnT2JqDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIEFndW1lbnRzIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKCdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcykpOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBhcmdPYmopOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHN0cmluZyAodmFsdWUgaXMgJ2ZhbHNlJykgd2hpY2ggaXMgdHJlYXRlZCBhcyB0aGUgdmFsdWUgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICJmYWxzZSINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBuZXcgQm9vbGVhbihmYWxzZSkgd2hpY2ggaXMgdHJlYXRlZCBhcyB0aGUgdmFsdWUgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBCb29sZWFuKGZhbHNlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAxMDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHt9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5Ig0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgZGVzY09iai52YWx1ZSA9ICJvd25EYXRhUHJvcGVydHkiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDoge30gDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uLCB3aGljaCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgRnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGZ1biA9IG5ldyBGdW5jKCk7DQogICAgICAgIGZ1bi52YWx1ZSA9ICJGdW5WYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiRnVuVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnIudmFsdWUgPSAiQXJyVmFsdWUiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcnINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiQXJyVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci52YWx1ZSA9ICJTdHJWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJTdHJWYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBib29sZWFuT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGJvb2xlYW5PYmoudmFsdWUgPSAiQm9vbGVhblZhbHVlIjsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYm9vbGVhbk9iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJCb29sZWFuVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMTIzKTsNCg0KICAgICAgICBudW1PYmoudmFsdWUgPSAiTnVtVmFsdWUiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBudW1PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiTnVtVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZGF0YSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgd2hpY2ggaXMgbm90IGVudW1lcmFibGUgaXMgbm90IGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHt9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgudmFsdWUgPSAiTWF0aFZhbHVlIjsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiTWF0aFZhbHVlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLnZhbHVlID0gIkRhdGVWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRhdGVPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiRGF0ZVZhbHVlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmoudmFsdWUgPSAiUmVnRXhwVmFsdWUiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiByZWdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiUmVnRXhwVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04udmFsdWUgPSAiSlNPTlZhbHVlIjsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiSlNPTlZhbHVlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGVycm9yT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyb3JPYmoudmFsdWUgPSAiRXJyb3JWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGVycm9yT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIkVycm9yVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai52YWx1ZSA9ICJBcmdWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJBcmdWYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS52YWx1ZSA9ICJHbG9iYWxWYWx1ZSI7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIkdsb2JhbFZhbHVlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRydWUgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9ICgobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKSk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gMTAwKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gMTAwKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgcHJvdG8ucHJvcCA9IHt9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgZGVzY09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHsgdmFsdWU6IDEwMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uLCB3aGljaCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAgb3duIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IHZhbHVlOiAxMDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09IDEwMCk7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgRnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGZ1biA9IG5ldyBGdW5jKCk7DQogICAgICAgIGZ1bi53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFycmF5ID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFycmF5LndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJyYXkNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBib29sZWFuT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGJvb2xlYW5PYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBib29sZWFuT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMTIzKTsNCg0KICAgICAgICBudW1PYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBudW1PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGgNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGF0ZU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiByZWdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04gDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB1bmRlZmluZWQpOw0KICAgICAgICByZXR1cm4gKG5ld09iaiBpbnN0YW5jZW9mIE9iamVjdCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gYWNjZXNzb3IgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIHdoaWNoIGlzIG5vdCBlbnVtZXJhYmxlIGlzIG5vdCBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGVycm9yT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyb3JPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBlcnJvck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKSANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG51bGwgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICBpcyB0cnVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGZhbHNlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIDAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzICswICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiArMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiAhbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIC0wICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAtMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIE5hTiAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgcG9zaXRpdmUgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogMTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbmVnYXRpdmUgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogLTkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjT2JqID0gew0KICAgICAgICAgICAgd3JpdGFibGU6ICIiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogImFiYyINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogW10NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFN0cmluZygpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBCb29sZWFuKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAgb3duIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBwcm90by5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6ICJhYmMiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgY2hpbGQucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiYmJxIg0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBuZXdPYmoucHJvcCA9PT0gImJicSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IE51bWJlcigpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTWF0aA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBEYXRlKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogSlNPTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IEVycm9yKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGFyZ09iag0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRoZSB2YWx1ZSB0cnVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAiZmFsc2UiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IDkgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRoZSB2YWx1ZSB0cnVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJlc2VudCI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAicHJlc2VudCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDoge30NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBwcm90by5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA5DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7fTsNCg0KICAgICAgICBmdW5PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlGdW5jdGlvbk9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bk9iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlGdW5jdGlvbk9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyYXlPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgYXJyYXlPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlBcnJheU9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFycmF5T2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeUFycmF5T2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5U3RyaW5nT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogc3RyT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeVN0cmluZ09iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBib29sT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5Qm9vbGVhbk9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGJvb2xPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeUJvb2xlYW5PYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcig1KTsNCg0KICAgICAgICBudW1PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlOdW1iZXJPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBudW1PYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeU51bWJlck9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlEYXRlT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGF0ZU9iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiVmVyaWZ5RGF0ZU9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCA1LmEpIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBuZXdPYmoucHJvcCA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeVJlZ0V4cE9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHJlZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlSZWdFeHBPYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlNYXRoT2JqZWN0IjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogTWF0aCANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlNYXRoT2JqZWN0IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBKU09OLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5SlNPTk9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogSlNPTiANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlKU09OT2JqZWN0IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJlcnJvciIpOw0KDQogICAgICAgIGVyck9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeUVycm9yT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZXJyT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlFcnJvck9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlBcmd1bWVudHNPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcmdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiVmVyaWZ5QXJndW1lbnRzT2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlHbG9iYWxPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlHbG9iYWxPYmplY3QiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgcHJpbWl0aXZlIHZhbHVlIG51bGwgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBudWxsDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gb3duIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiAxMjMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBzdHJpbmcgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6ICJzdHJpbmciDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBbMSwgMiwgM10NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ2dldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImRhdGEiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIGNoaWxkKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGExID09PSAib3ZlcnJpZGVEYXRhIiAmJiBkYXRhMiA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgcHJvdG8uc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAic2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5ld09iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuZXdPYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5ld09iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBmdW5PYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGZ1bk9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBhcnJPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgc3RyT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBzdHJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIGJvb2xPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGJvb2xPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcig1KTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIG51bU9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogbnVtT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGgNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgZGF0ZU9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGF0ZU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgcmVnT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiByZWdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJlcnJvciIpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICBlcnJPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGVyck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgYXJnT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdvYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcmdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3b2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3b2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gW107DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZToge30sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSB2YWx1ZSBudWxsICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBudWxsDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBib29sZWFuIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHRydWUNCiAgICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBudW1iZXIgdmFsdWUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IDEyMw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHByaW1pdGl2ZSBzdHJpbmcgdmFsdWUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6ICJhYmMiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBEYXRlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogbmV3IERhdGUoKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0yOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmICdQcm9wZXJ0aWVzJyBpcyBudWxsICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFN0cmluZygpOw0KICAgICAgICBwcm9wcy5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ3NldCcgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIGhvc3Qgb2JqZWN0IHRoYXQgaXNuJ3QgY2FsbGFibGUgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgYXJlIHByZXNlbnQgKDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIGRlZmluZXMgYSBkYXRhIHByb3BlcnR5IHdoZW4gb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBnZW5lcmljIGRlc2NyaXB0b3IgKDguMTIuOSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tWYWx1ZV1dIGlzIHNldCBhcyB1bmRlZmluZWQgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSB1bmRlZmluZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tXcml0YWJsZV1dIGlzIHNldCBhcyBmYWxzZSBpZiBpdCBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tFbnVtZXJhYmxlXV0gaXMgc2V0IGFzIGZhbHNlIGlmIGl0IGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3Igb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgaXNFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgIWlzRW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tDb25maWd1cmFibGVdXSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgaXNOb3RDb25maWd1cmFibGUgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgICAgICBpc05vdENvbmZpZ3VyYWJsZSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGlzTm90Q29uZmlndXJhYmxlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIG93biBlbnVtZXJhYmxlIHByb3BlcnR5ICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgcHJvcHMucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tHZXRdXSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgbmV3T2JqLnByb3AgPT09IHVuZGVmaW5lZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tTZXRdXSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInZlcmlmeUNyZWF0ZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobmV3T2JqLCAicHJvcCIpOw0KICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0IikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICB2YXIgdmVyaWZ5R2V0ID0gZmFsc2U7DQogICAgICAgIGlmIChuZXdPYmoucHJvcCA9PT0gInZlcmlmeUNyZWF0ZSIpIHsNCiAgICAgICAgICAgIHZlcmlmeUdldCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSAhbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgaGFzUHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVNldCAmJiB2ZXJpZnlHZXQgJiYgdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tFbnVtZXJhYmxlXV0gaXMgc2V0IGFzIGZhbHNlIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhaXNFbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gW1tDb25maWd1cmFibGVdXSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3Igb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyAoOC4xMi45IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7ICAgICAgIA0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciBpc05vdENvbmZpZ3VyYWJsZSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgaXNOb3RDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gc29tZSBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZW1wdHkgb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgZm9vOiB7fQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gYWxsIHByb3BlcnRpZXMgaW4gJ1Byb3BlcnRpZXMnIGFyZSBlbnVtZXJhYmxlIChkYXRhIHByb3BlcnR5IGFuZCBhY2Nlc3NvciBwcm9wZXJ0eSkgKDE1LjIuMy43IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSB7fTsNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBuZXdPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIGZvbzE6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZm9vMjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChuZXdPYmosICJmb28xIiwgMjAwLCB0cnVlLCB0cnVlLCB0cnVlKSAmJg0KICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG5ld09iaiwgImZvbzIiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9mICdQcm9wZXJ0aWVzJyBhcmUgZ2l2ZW4gbnVtZXJpY2FsIG5hbWVzICgxNS4yLjMuNyBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMoKSB7IH0NCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICAxOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIDI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqWzBdID09PSAxMDAgJiYgbmV3T2JqWzFdID09PSAyMCAmJiBuZXdPYmpbMl0gPT09IDIwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IE51bWJlcigtOSk7DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgucHJvcCA9IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBNYXRoKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIG93biBlbnVtZXJhYmxlIHByb3BlcnR5ICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBEYXRlKCk7DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBwcm9wcy5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ucHJvcCA9IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBKU09OKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEVycm9yKCJ0ZXN0Iik7DQoNCiAgICAgICAgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKSkuZm9yRWFjaChmdW5jdGlvbihuYW1lKXsNCiAgICAgICAgICAgIHByb3BzW25hbWVdID0ge3ZhbHVlOjExLCBjb25maWd1cmFibGU6dHJ1ZX0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcHJvcHMucHJvcDE1XzJfM181XzRfMzcgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AxNV8yXzNfNV80XzM3Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnUHJvcGVydGllcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIG93biBlbnVtZXJhYmxlIHByb3BlcnR5ICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBhcmdPYmopOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBlbnN1cmUgdGhhdCBzaWRlLWVmZmVjdHMgb2YgZ2V0cyBvY2N1ciBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGV5IHdvdWxkIGZvcjogZm9yIChQIGluIHByb3BzKSBwcm9wc1tQXSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgcHJvcHMucHJvcDEgPSB7IHZhbHVlOiAxMiwgZW51bWVyYWJsZTogdHJ1ZSB9Ow0KICAgICAgICBwcm9wcy5wcm9wMiA9IHsgdmFsdWU6IHRydWUsIGVudW1lcmFibGU6IHRydWUgfTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gcHJvcHMpIHsNCiAgICAgICAgICAgIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgdmFyIGluZGV4ID0gMDsNCiAgICAgICAgZm9yICh2YXIgcSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXgrK10gIT09IHEgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KHEpKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOyAgICAgICAgIA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhbiBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgT2JqZWN0Ow0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBlbnN1cmUgdGhhdCBpZiBhbiBleGNlcHRpb24gaXMgdGhyb3duIGl0IG9jY3VycyBpbiB0aGUgY29ycmVjdCBvcmRlciByZWxhdGl2ZSB0byBwcmlvciBhbmQgc3Vic2VxdWVudCBzaWRlLWVmZmVjdHMgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgdmFyIGkgPSAwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaSsrOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKDEgPT09IGkrKykgew0KICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wMSIpICYmIGkgPT09IDI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogdW5kZWZpbmVkIA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG51bGwgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IG51bGwgDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGZhbHNlICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBmYWxzZSANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogMTIgDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgc3RyaW5nICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiAiYWJjIiANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgIC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDoge30gDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgIC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiwgd2hpY2ggb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBbXTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgQXJyYXk7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gW107DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBOdW1iZXIoLTkpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGggDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC02OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0gDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBmYWxzZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAwICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyArMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiArMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyAtMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgTmFOICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdob3NlIHByaW1pdGl2ZSB2YWx1ZSBpcyB0cnVlICgxNS4yLjMuNyBzdGVwIDIpLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogMTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAtOQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogIiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogIkFCXG5cXGNkIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogW10NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IFN0cmluZygpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG5ldyBCb29sZWFuKHRydWUpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IE51bWJlcigtOSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogTWF0aA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3Qgd2hvc2UgcHJpbWl0aXZlIHZhbHVlIGlzIGFueSBpbnRlcmVzdGluZyBudW1iZXIgKDE1LjIuMy43IHN0ZXAgMikuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgTnVtYmVyKDEyKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG5ldyBEYXRlKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogSlNPTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEVycm9yKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBhcmdPYmoNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBhIHN0cmluZyAodmFsdWUgaXMgJ2ZhbHNlJyksIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdGhlIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAiZmFsc2UiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBuZXcgQm9vbGVhbihmYWxzZSksIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdGhlIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjUvMTUuMi4zLjUtNC05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRydWUgKDguMTAuNSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gT2JqZWN0LmRlZmluZVByb3BlcnR5Ow0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMyBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eS5sZW5ndGggPT09IDMpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gdW5kZWZpbmVkIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodW5kZWZpbmVkLCAiZm9vIiwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gbnVsbCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG51bGwsICJmb28iLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZSB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KDUsICJmb28iLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZSB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KCJoZWxsb1xud29ybGRcXCEiLCAiZm9vIiwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0cnVlLCAiZm9vIiwge30pOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIHVuZGVmaW5lZCB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAndW5kZWZpbmVkJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgdW5kZWZpbmVkLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgidW5kZWZpbmVkIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBhIG5lZ2F0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIC0yMCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIi0yMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIEluZmluaXR5LCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiSW5maW5pdHkiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyArSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCArSW5maW5pdHksIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJJbmZpbml0eSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAtSW5maW5pdHksIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCItSW5maW5pdHkiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMCB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMSB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMWUrMjEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMiB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIyIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEodHJhaWxpbmcgNSB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAwMDAwMDEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZSsyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDFlKzIwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAodmFsdWUgaXMgMWUrMjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxZSsyMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAodmFsdWUgaXMgMWUrMjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxZSsyMiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIyIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIG51bGwgdGhhdCBjb252ZXJ0cyB0byBzdHJpbmcgJ251bGwnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBudWxsLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgibnVsbCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDAuMDAwMDAxLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMC4wMDAwMDEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAwLjAwMDAwMDEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxZS03Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMC4wMDAwMDAwMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlLTgiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS03KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMWUtNywge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlLTciKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS02KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMWUtNiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjAuMDAwMDAxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS01KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMWUtNSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjAuMDAwMDEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBpbnRlZ2VyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEyMywge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEyMyIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIGRlY2ltYWwgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzLjQ1NikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEyMy40NTYsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMjMuNDU2Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAxOSB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwLjEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMDAwMDAwMDAwMDAwMDAwMDAwMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMCB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMC4xLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgYm9vbGVhbiB3aG9zZSB2YWx1ZSBpcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgZmFsc2UsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJmYWxzZSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMSB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAuMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMiB6ZXJvcykuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLjEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxZSsyMiIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMuMTIzNDU2NykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEyMy4xMjM0NTY3LCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTIzLjEyMzQ1NjciKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIGFuIGVtcHR5IHN0cmluZyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIiLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnQUINCiAqIFxjZCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiQUJcblxcY2QiLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiQUJcblxcY2QiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAndW5kZWZpbmVkJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJ1bmRlZmluZWQiLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgidW5kZWZpbmVkIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnbnVsbCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibnVsbCIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJudWxsIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnMTIzzrHOss+AY2QnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEyM86xzrLPgGNkIiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEyM86xzrLPgGNkIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnMScgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBhcnJheSB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBbMSwgMl0sIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxLDIiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgYm9vbGVhbiB3aG9zZSB2YWx1ZSBpcyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCB0cnVlLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgidHJ1ZSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIFN0cmluZyBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgbmV3IFN0cmluZygiSGVsbG8iKSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIkhlbGxvIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIEJvb2xlYW4gT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIG5ldyBCb29sZWFuKGZhbHNlKSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImZhbHNlIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIE51bWJlciBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgbmV3IE51bWJlcigxMjMpLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTIzIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIG93blByb3AsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJhYmMiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB0b1N0cmluZzogdW5kZWZpbmVkDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImFiYyIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3Qgd2hvc2UgdG9TdHJpbmcgbWV0aG9kIHJldHVybnMgYW4gb2JqZWN0IGFuZCB3aG9zZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGEgcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImFiYyIpICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJwcm9wIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImFiYyIpICYmICF2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duICB3aGVuICdQJyBpcyBhbiBvYmplY3QgdGhhdCBuZWl0aGVyIHRvU3RyaW5nIG5vciB2YWx1ZU9mIHJldHVybnMgYSBwcmltaXRpdmUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFuIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2QgIGlzIGludm9rZWQgd2hlbiAnUCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHZhbHVlT2YgYW5kIGFuIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gInRlc3QiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLnZhbHVlT2YgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIxMCI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgY2hpbGQsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJ0ZXN0IikgJiYgIXZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KLy8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovLy8gDQovLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZA0KLy8vIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6IA0KLy8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQNCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCANCi8vLyAgICAgIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gIA0KLy8vICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBNaWNyb3NvZnQgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvDQovLy8gICAgICBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQovLy8gDQovLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUg0KLy8vIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTDQovLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUNCi8vLyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QNCi8vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi8vLyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCi8vLyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQovLy8gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBOYU4sIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJOYU4iKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgKzAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgLTAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIGEgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMzAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIzMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZGVzYyBoYXMgJ2dldCcgYW5kICd2YWx1ZScgcHJlc2VudCg4LjEwLjUgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCiAgICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIsIHZhbHVlOiAxMDF9Ow0KICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChOdW1iZXIpKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgc2V0dGVyDQogICAgdmFyIHNldHRlciA9IDQyOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbnVsbCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IG51bGwgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IDAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgKzAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6ICswIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgLTAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiAtMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgTmFOICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogTmFOIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBwb3NpdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IDEyMzQ1IH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBuZWdhdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IC0xMjM0NSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogIiIgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChCb29sZWFuKSg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IHNldHRlcg0KICAgIHZhciBzZXR0ZXIgPSB0cnVlOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBub24tZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiAiICAgICAgICIgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBbMSwgMiwgM10gfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBuZXcgU3RyaW5nKCJiYnEiKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBuZXcgTnVtYmVyKDApIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBNYXRoIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogbmV3IERhdGUoKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0ICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogSlNPTg0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChTdHJpbmcpKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgc2V0dGVyDQogICAgdmFyIHNldHRlciA9ICJhYmMiOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBFcnJvciBvYmplY3QgICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3ludGF4RXJyb3IoKQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIEFyZ3VtZW50IG9iamVjdCAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKDEsIHRydWUsICJhIik7DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGFyZ09iag0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJlYXRlZCBhcyB0cnVlIHdoZW4gaXQgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogImZhbHNlIg0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJlYXRlZCBhcyB0cnVlIHdoZW4gaXQgaXMgbmV3IEJvb2xlYW4oZmFsc2UpICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICAoOC4xMC41IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7IHZhbHVlOiAxMDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAgKDguMTAuNSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiB0aGUgc2V0dGVyIGluIGRlc2MgaXMgbm90IGNhbGxhYmxlIChOdWxsKSg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IHNldHRlcg0KICAgIHZhciBzZXR0ZXIgPSBudWxsOw0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIGNoaWxkLnZhbHVlID0gIm93bkRhdGFQcm9wZXJ0eSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInZhbHVlIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0ciwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQgOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAndmFsdWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wZXJ0eSA6IDEyMCB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlID0gIkZ1bmN0aW9uIjsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJGdW5jdGlvbiI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bk9iai52YWx1ZSA9ICJGdW5jdGlvbiI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZnVuT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRnVuY3Rpb24iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBzZXR0ZXIgaXMgbm90IGNhbGxhYmxlIGJ1dCBub3QgdW5kZWZpbmVkIChPYmplY3QpKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIHNldHRlciA9IHsgYTogMSB9Ow0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS52YWx1ZSA9ICJBcnJheSI7DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQXJyYXkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFyck9iai52YWx1ZSA9ICJBcnJheSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQXJyYXkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUudmFsdWUgPSAiU3RyaW5nIjsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlN0cmluZyI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLnZhbHVlID0gIlN0cmluZyI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiU3RyaW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS52YWx1ZSA9ICJCb29sZWFuIjsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQm9vbGVhbiI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBib29sT2JqLnZhbHVlID0gIkJvb2xlYW4iOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJCb29sZWFuIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUudmFsdWUgPSAiTnVtYmVyIjsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk51bWJlciI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgbnVtT2JqLnZhbHVlID0gIk51bWJlciI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS52YWx1ZSA9ICJNYXRoIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJNYXRoIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLnZhbHVlID0gIk1hdGgiOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk1hdGgiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS52YWx1ZSA9ICJEYXRlIjsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJEYXRlIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmoudmFsdWUgPSAiRGF0ZSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkRhdGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFJlZ0V4cC5wcm90b3R5cGUudmFsdWUgPSAiUmVnRXhwIjsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJSZWdFeHAiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai52YWx1ZSA9ICJSZWdFeHAiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlJlZ0V4cCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS52YWx1ZSA9ICJKU09OIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJKU09OIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLnZhbHVlID0gIkpTT04iOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkpTT04iOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04udmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS52YWx1ZSA9ICJFcnJvciI7DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJFcnJvciI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRXJyb3IucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJPYmoudmFsdWUgPSAiRXJyb3IiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkVycm9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUudmFsdWUgPSAiYXJndW1lbnRzIjsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudHMiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmoudmFsdWUgPSAiYXJndW1lbnRzIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudHMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkudmFsdWUgPSAiZ2xvYmFsIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZm5HbG9iYWxPYmplY3QoKSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJnbG9iYWwiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSANCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0IDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgInByb3BlcnR5IiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFyck9iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHJPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBib29sT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgbnVtT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgInByb3BlcnR5IiwgdHJ1ZSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIERhdGUucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgUmVnRXhwLnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRXJyb3IucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJnT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBudWxsICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbnVsbCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIG51bWJlciBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAicHJvcGVydHkiLCAxMik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cnVlICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBmYWxzZSAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IGZhbHNlIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyAwICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyArMCAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogKzAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyAtMCAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IC0wIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBOYU4gICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiAgTmFOfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogMTIzNDUgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogLTEyMzQ1IH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6ICIiIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6ICIgICAgICAiIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIHN0cmluZyBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAicHJvcGVydHkiLCAiYWJjIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogWzEsIDIsIDNdIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IFN0cmluZygiYmJxIikgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IG5ldyBCb29sZWFuKHRydWUpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IE51bWJlcigxMjMpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogTWF0aCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IG5ldyBEYXRlKCkgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBSZWdFeHAoKQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgJiYgYWZ0ZXJXcml0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogSlNPTiB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiBuZXcgU3ludGF4RXJyb3IoKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdnZXQnIGFuZCAnd3JpdGFibGUnIHByZXNlbnQoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICAgIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgd3JpdGFibGU6IGZhbHNlIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgQXJndW1lbnQgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgxLCB0cnVlLCAiYSIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IGFyZ09iaiB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cmVhdGVkIGFzIHRydWUgd2hlbiBpdCBpcyBhIHN0cmluZyh2YWx1ZSBpcyAnZmFsc2UnKSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiAiZmFsc2UiIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnd3JpdGFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cmVhdGVkIGFzIHRydWUgd2hlbiBpdCBpcyBuZXcgQm9vbGVhbihmYWxzZSkgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJwcmVzZW50IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInByZXNlbnQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkge30NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBvYmoucHJvcGVydHkgPT09ICJ1bmRlZmluZWQiICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhdHRyaWJ1dGVzID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHJpYnV0ZXMpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW47DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyaWJ1dGVzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyaWJ1dGVzLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHJpYnV0ZXMsICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5KHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24pIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZ2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiBvYmoucHJvcGVydHkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImZ1bmN0aW9uR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJmdW5jdGlvbkdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJmdW5jdGlvbkdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJmdW5jdGlvbkdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhcnJheUdldFByb3BlcnR5IjsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcnJheUdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBhcnJPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJhcnJheUdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcnJheUdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAic3RyaW5nR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJzdHJpbmdHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgc3RyT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAic3RyaW5nR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInN0cmluZ0dldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJib29sZWFuR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiYm9vbGVhbkdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIGJvb2xPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJib29sZWFuR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJib29sZWFuR2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAibnVtYmVyR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm51bWJlckdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICBudW1PYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJudW1iZXJHZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAibnVtYmVyR2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJtYXRoR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJtYXRoR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm1hdGhHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm1hdGhHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJkYXRlR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJkYXRlR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGF0ZU9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImRhdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImRhdGVHZXRQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFJlZ0V4cC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAicmVnRXhwR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInJlZ0V4cEdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgcmVnT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAicmVnRXhwR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInJlZ0V4cEdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJqc29uR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJqc29uR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImpzb25HZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImpzb25HZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJlcnJvckdldFByb3BlcnR5IjsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJlcnJvckdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJlcnJvckdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJlcnJvckdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFyZ3VtZW50R2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiYXJndW1lbnRHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICBhcmdPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJhcmd1bWVudEdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudEdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2xvYmFsR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZm5HbG9iYWxPYmplY3QoKSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJnbG9iYWxHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdldEZ1bmN0aW9uIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBvYmoucHJvcGVydHkgPT09ICJnZXRGdW5jdGlvbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gMTQ7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIG9iai5wcm9wZXJ0eSA9PT0gMTEgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgY2hpbGQuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGExID09PSAiZGF0YSIgJiYgZGF0YTIgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInNldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhMSA9PT0gImRhdGEiICYmIGRhdGEyID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHJpYnV0ZXMsICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YTEgPT09ICJkYXRhIiAmJiBkYXRhMiA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YTEgPT09ICJkYXRhIiAmJiBkYXRhMiA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHJpYnV0ZXMsICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyaWJ1dGVzKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVPd25EYXRhIjsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5KHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24pIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCIgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZnVuT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGZ1bk9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGFyck9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAgdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICBzdHJPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgYm9vbE9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgIG51bU9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBSZWdFeHAucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCByZWdPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRXJyb3IucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGVyck9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KICAgICAgICBhcmdPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJnT2JqKTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0ciwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGVudW1lcmFibGU6IGZhbHNlIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdzZXQnIGFuZCAndmFsdWUnIHByZXNlbnQoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCg0KICAgIC8vIGR1bW15IHNldHRlcg0KICAgIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IH0NCiAgICB2YXIgZGVzYyA9IHsgc2V0OiBzZXR0ZXIsIHZhbHVlOiAxMDF9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBhdHRyID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5KHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24pIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIGZ1bi5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW4pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGFyck9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICBzdHJPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgYm9vbE9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQogICAgICAgIG51bU9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBkYXRlT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGRlc2MgaGFzICdzZXQnIGFuZCAnd3JpdGFibGUnIHByZXNlbnQoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgc2V0dGVyID0gZnVuY3Rpb24gKCkgeyB9DQogICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyLCB3cml0YWJsZTogZmFsc2UgfTsNCiAgICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgUmVnRXhwLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgcmVnT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBFcnJvci5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEVycm9yLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIGVyck9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQogICAgICAgIGFyZ09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbnVsbCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBudWxsIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE51bWJlcikoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gNDI7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiAwIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgKzAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogKzAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgLTAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogLTAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgTmFOICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IE5hTiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBwb3NpdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogMTIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBuZWdhdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogLTIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6ICIiIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBub24tZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6ICJBQlxuXFxjZCIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IFtdIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKEJvb2xlYW4pKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIGdldHRlciA9IHRydWU7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBTdHJpbmcoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIE9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBuZXcgQm9vbGVhbigpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBOdW1iZXIoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IE1hdGggfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBEYXRlIE9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBuZXcgRGF0ZSgpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYSBSZWdFeHAgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBSZWdFeHAoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IEpTT04gfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3IgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBFcnJvcigpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIE9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgwLCAxLCAyKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IGFyZ09iaiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKFN0cmluZykoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gImFiYyI7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogZm5HbG9iYWxPYmplY3QoKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgdHJlYXRlZCBhcyB0cnVlIHdoZW4gaXQgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6ICJmYWxzZSIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgbmV3IEJvb2xlYW4oZmFsc2UpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgdmFsdWU6IDEwMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSAob2JqLnByb3BlcnR5ID09PSAxMDApOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgYWZ0ZXJEZWxldGVkICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhdHRyID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE51bGwpKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIGdldHRlciA9IG51bGw7DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQgOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ni0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5PYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ny0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFsxLCAyLCAzXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgYXJyT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHJPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBzdHJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYm9vbE9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIGJvb2xPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFRoZSBhYnRyYWN0IG9wZXJhdGlvbiBUb1Byb3BlcnR5RGVzY3JpcHRvciAgaXMgdXNlZCB0byBwYWNrYWdlIHRoZQ0KICogaW50byBhIHByb3BlcnR5IGRlc2MuIFN0ZXAgMTAgb2YgVG9Qcm9wZXJ0eURlc2NyaXB0b3IgdGhyb3dzIGEgVHlwZUVycm9yDQogKiBpZiB0aGUgcHJvcGVydHkgZGVzYyBlbmRzIHVwIGhhdmluZyBhIG1peCBvZiBhY2Nlc3NvciBhbmQgZGF0YSBwcm9wZXJ0eSBlbGVtZW50cy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIGdldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE9iamVjdCkoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0geyBhOiAxIH07DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICBudW1PYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGguY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBkYXRlT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGF0ZU9iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBSZWdFeHAucHJvdG90eXBlLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCByZWdPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04uY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgSlNPTik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBlcnJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Ni0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KICAgICAgICBhcmdPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiB1bmRlZmluZWQgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyBwYXNzaW5nICd0cnVlJyBmb3IgdGhlIFRocm93IGZsYWcuIEluIHRoaXMgY2FzZSwgc3RlcCAzIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVxdWlyZXMgdGhhdCBpdCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbg0KICogY3VycmVudCBpcyB1bmRlZmluZWQgYW5kIGV4dGVuc2libGUgaXMgZmFsc2UuIFRoZSB2YWx1ZSBvZiBkZXNjIGRvZXMgbm90DQogKiBtYXR0ZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGFkZGluZyBwcm9wZXJ0aWVzIHRvIG5vbi1leHRlbnNpYmxlIG9iamVjdHMoOC4xMi45IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobyk7DQoNCiAgdHJ5IHsNCiAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEgfTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBbW0VudW1lcmFibGVdXSBmcm9tIGZhbHNlIHRvIHRydWUgb24gbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBlbnVtZXJhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBub3csIHNldHRpbmcgZW51bWVyYWJsZSB0byB0cnVlIHNob3VsZCBmYWlsLCBzaW5jZSBbW0NvbmZpZ3VyYWJsZV1dDQogIC8vIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIsIGVudW1lcmFibGU6IHRydWUgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAyMDAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLnZhbHVlIGlzIHByZXNlbnQgYW5kIGRlc2MudmFsdWUgaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTAwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdW5kZWZpbmVkIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBkZXNjLnZhbHVlIGlzIHByZXNlbnQgYW5kIG5hbWUudmFsdWUgaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gdW5kZWZpbmVkOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogMTAwIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLndyaXRhYmxlIGFuZCBkZXNjLndyaXRhYmxlIGFyZSBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLmVudW1lcmFibGUgYW5kIGRlc2MuZW51bWVyYWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBuYW1lLmNvbmZpZ3VyYWJsZSA9IHRydWUgYW5kIGRlc2MuY29uZmlndXJhYmxlID0gZmFsc2UgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAyMDAsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGF0YSBwcm9wZXJ0aWVzLCBzZXZlcmFsIGF0dHJpYnV0ZXMgdmFsdWVzIG9mIG5hbWUgYW5kIGRlc2MgYXJlIGRpZmZlcmVudCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAwLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDIwMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMjAwLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgYm90aCBkZXNjLltbR2V0XV0gYW5kIG5hbWUuW1tHZXRdXSBhcmUgdHdvIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jMiwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgIG5hbWUuW1tHZXRdXSBpcyBwcmVzZW50IGFuZCBkZXNjLltbR2V0XV0gaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5bW0dldF1dIGlzIHVuZGVmaW5lZCBhbmQgZGVzYy5bW0dldF1dIGlzIGZ1bmN0aW9uICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBbW0VudW1lcmFibGVdXSBmcm9tIHRydWUgdG8gZmFsc2Ugb24gbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIG5vdywgc2V0dGluZyBlbnVtZXJhYmxlIHRvIHRydWUgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgZW51bWVyYWJsZTogZmFsc2UgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgYm90aCBkZXNjLltbU2V0XV0gYW5kIG5hbWUuW1tTZXRdXSBhcmUgdHdvIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYzEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMyKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMyDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0RnVuYzIsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgIC0gJ25hbWUnIGFuZCAnZGVzYycgYXJlIGFjY2Vzc29yIHByb3BlcnRpZXMsIG5hbWUuW1tTZXRdXSBpcyBwcmVzZW50IGFuZCBkZXNjLltbU2V0XV0gaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vIik7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5bW1NldF1dIGlzIHVuZGVmaW5lZCBhbmQgZGVzYy5bW1NldF1dIGlzIGZ1bmN0aW9uICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5lbnVtZXJhYmxlIGFuZCBkZXNjLmVudW1lcmFibGUgYXJlIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5jb25maWd1cmFibGUgPSB0cnVlIGFuZCBkZXNjLmNvbmZpZ3VyYWJsZSA9IGZhbHNlICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgc2V2ZXJhbCBhdHRyaWJ1dGVzIHZhbHVlcyBvZiAnbmFtZScgYW5kICdkZXNjJyBhcmUgZGlmZmVyZW50ICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMSgpIHt9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYzEsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMxLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYzIsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYzIsIHNldEZ1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsgdmFsdWU6IDEgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICJsZW5ndGgiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGFyck9iaiwgImxlbmd0aCIpICYmIGRlc2MudmFsdWUgPT09IDIgJiYNCiAgICAgICAgICAgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDEsIDJdOw0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KDQogICAgICAgICAgICANCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIyIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMyAmJiBBcnJheS5wcm90b3R5cGUubGVuZ3RoID09PSAwOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyBhYnNlbnQgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7fSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIGlmIChhcnJPYmoubGVuZ3RoID09PSAwKSB7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMjsNCiAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gYXJyT2JqLmxlbmd0aCA9PT0gMjsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiICYmIGFyck9iai5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgZGVsZXRlIGFyck9iai5sZW5ndGg7DQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyBzYW1lIHdpdGggY29ycmVzcG9uZGluZyBhdHRyaWJ1dGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgaWYgKGFyck9iai5sZW5ndGggPT09IDApIHsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGFyck9iai5sZW5ndGggPSAyOw0KICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBhcnJPYmoubGVuZ3RoID09PSAyID8gdHJ1ZSA6IGZhbHNlOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyT2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImxlbmd0aCIgJiYgYXJyT2JqLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBkZWxldGUgYXJyT2JqLmxlbmd0aDsNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIik7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDlhIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVqZWN0cyBjaGFuZ2luZyB0aGUga2luZCBvZiBhIHByb3BlcnR5Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnRpZXMgdG8gYWNjZXNzb3IgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBjaGFuZ2luZyAiZm9vIiB0byBiZSBhbiBhY2Nlc3NvciBzaG91bGQgZmFpbCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCg0KICAvLyBkdW1teSBnZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCg0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi52YWx1ZSA9PT0gMTAxICYmDQogICAgICAgICAgZDIud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmcm9tIGZhbHNlIHRvIHRydWUgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSB0cnVlIHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJsZW5ndGgiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGF0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuICBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBudWxsICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBudWxsDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIGJvb2xlYW4gd2l0aCB2YWx1ZSBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAwICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAgJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBib29sZWFuIHdpdGggdmFsdWUgdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDlhIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVqZWN0cyBjaGFuZ2luZyB0aGUga2luZCBvZiBhIHByb3BlcnR5Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzIHRvIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGFuIGFjY2Vzc29yIHByb3BlcnR5OyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlLg0KIA0KICAvLyBkdW1teSBnZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCiAgdmFyIGQxID0geyBnZXQ6IGdldHRlciwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBjaGFuZ2luZyAiZm9vIiB0byBiZSBhIGRhdGEgcHJvcGVydHkgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyB2YWx1ZTogMTAxIH07DQoNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIGFuIGFjY2Vzc29yIHByb3BlcnR5Lg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBwb3NpdGl2ZSBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IC05DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiArSW5maW5pdHkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAtSW5maW5pdHkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBOYU4gKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMiINCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIi00MiINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiMjAwLjU5Ig0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgOWIgb2YNCiAqIFtbRGVmaW5lT3duUHJvcGVydHldXSBwZXJtaXRzIGNoYW5naW5nIHRoZSBraW5kIG9mIGEgcHJvcGVydHkuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHBlcm1pdHMgY2hhbmdpbmcgZGF0YSBwcm9wZXJ0eSB0byBhY2Nlc3NvciBwcm9wZXJ0eSBmb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhIGRhdGEgcHJvcGVydHkuIEluIHRoaXMgY2FzZSwNCiAgLy8gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXJlIHRydWUNCiAgb1siZm9vIl0gPSAxMDE7DQoNCiAgLy8gY2hhbmdpbmcgImZvbyIgdG8gYmUgYW4gYWNjZXNzb3Igc2hvdWxkIHN1Y2NlZWQsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgdHJ1ZS4gRXhpc3RpbmcgdmFsdWVzIG9mIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gYW5kIFtbRW51bWVyYWJsZV1dIG5lZWQgdG8gYmUgcHJlc2VydmVkIGFuZCB0aGUgcmVzdCBuZWVkIHRvIGJlIHNldCB0bw0KICAvLyB0aGVpciBkZWZhdWx0IHZhbHVlcw0KDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KDQogIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KICAgICAgZDIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZDIuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nICtJbmZpbml0eSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIrSW5maW5pdHkiDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIC1JbmZpbml0eSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICItSW5maW5pdHkiDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMkUzIg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDJFMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMHgwMEIiDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMHgwMEI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMDAwMi4wIg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyB3aGljaCBkb2Vzbid0IGNvbnZlcnQgdG8gYSBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAidHdvIg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBvYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfSANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDMgJiYgIXRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgOWMgb2YNCiAqIFtbRGVmaW5lT3duUHJvcGVydHldXSBwZXJtaXRzIGNoYW5naW5nIHRoZSBraW5kIG9mIGEgcHJvcGVydHkuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHBlcm1pdHMgY2hhbmdpbmcgYWNjZXNzb3IgcHJvcGVydHkgdG8gZGF0YSBwcm9wZXJ0eSBmb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGRlZmluZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICAvLyBkdW1teSBnZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCiAgdmFyIGQxID0geyBnZXQ6IGdldHRlciwgY29uZmlndXJhYmxlOiB0cnVlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIGNoYW5naW5nICJmb28iIHRvIGJlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkgc2hvdWxkIHN1Y2NlZWQsIHNpbmNlDQogIC8vIFtbQ29uZmlndXJhYmxlXV0gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgdHJ1ZS4gRXhpc3RpbmcNCiAgLy8gdmFsdWVzIG9mIFtbQ29uZmlndXJhYmxlXV0gYW5kIFtbRW51bWVyYWJsZV1dIG5lZWQgdG8gYmUgcHJlc2VydmVkDQogIC8vIGFuZCB0aGUgcmVzdCBuZWVkIHRvIGJlIHNldCB0byB0aGVpciBkZWZhdWx0IHZhbHVlcy4NCiAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxMDEgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQoNCiAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgIGQyLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHRoYXQgYm90aCB0b1N0cmluZyBhbmQgdmFsdWVPZiB3b3VsZG4ndCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgYW5kIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBtZXRob2QgYW5kIGFuIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCAoMTUuNC41LjEgc3RlcCAzLmMpLCB0ZXN0IHRoYXQgdGhlIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCBpcyB1c2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBjaGlsZA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDIgJiYgIXRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyIHZhbHVlcyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyMy41DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyIHZhbHVlcyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMiAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk0IA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk1DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk1Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk2DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKyAxICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogNDI5NDk2NzI5Nw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgc2V0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBleGlzdGluZyB2YWx1ZSBvZiBsZW5ndGggKDE1LjQuNS4xIHN0ZXAgMy5mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogNQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gNSAmJiBhcnJPYmpbMF0gPT09IDAgJiYNCiAgICAgICAgICAgICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJPYmpbMl0gPT09IDIgJiYNCiAgICAgICAgICAgICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDEwLmEuaQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgaWYgcmVsYXhpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiByZWxheGluZyBbW1dyaXRhYmxlXV0gb24gbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhIGRhdGEgdmFsdWVkIHByb3BlcnR5OyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlLg0KICB2YXIgZDEgPSB7IHZhbHVlOiAxMDEgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCByZWxheGluZyBbW1dyaXRhYmxlXV0gb24gImZvbyIgc2hvdWxkIGZhaWwsIHNpbmNlIGJvdGgNCiAgLy8gW1tDb25maWd1cmFibGVdXSBhbmQgW1tXcml0YWJsZV1dIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgd3JpdGFibGU6IHRydWUgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIudmFsdWUgPT09IDEwMSAmJg0KICAgICAgICAgIGQyLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgc2V0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIGEgdmFsdWUgZXF1YWwgdG8gdGhlIGV4aXN0aW5nIHZhbHVlIG9mIGxlbmd0aCAoMTUuNC41LjEgc3RlcCAzLmYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAzICYmIGFyck9ialswXSA9PT0gMCAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyT2JqWzJdID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgc2V0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIGEgdmFsdWUgbGVzc2VyIHRoYW4gdGhlIGV4aXN0aW5nIHZhbHVlIG9mIGxlbmd0aCBhbmQgdGVzdCB0aGF0IGluZGV4ZXMgYmV5b25kIHRoZSBuZXcgbGVuZ3RoIGFyZSBkZWxldGVkKDE1LjQuNS4xIHN0ZXAgMy5mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDEgJiYgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgbm90IHdyaXRhYmxlICgxNS40LjUuMSBzdGVwIDMuZi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3Qgbm8gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgbm90IHdyaXRhYmxlICgxNS40LjUuMSBzdGVwIDMuZi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCAgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0cnVlIGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQgKDE1LjQuNS4xIHN0ZXAgMy5oKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGluZGV4RGVsZXRlZCA9ICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIGluZGV4RGVsZXRlZCAmJiBhcnJPYmoubGVuZ3RoID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCAgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0cnVlIGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDMuaCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGluZGV4RGVsZXRlZCA9ICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIGluZGV4RGVsZXRlZCAmJiBhcnJPYmoubGVuZ3RoID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIGZhbHNlIGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmkuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaW5kZXhEZWxldGVkID0gIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIGFyck9iai5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gaW5kZXhEZWxldGVkICYmIGFyck9iai5sZW5ndGggPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgd2hvc2Ugd3JpdGFibGUgYXR0cmlidXRlIGlzIGJlaW5nIGNoYW5nZWQgdG8gZmFsc2UgYW5kIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSBhbmQgYWxzbyBsZXNzZXIgdGhhbiBhbiBpbmRleCBvZiB0aGUgYXJyYXkgd2hpY2ggaXMgc2V0IHRvIGNvbmZpZ3VyYWJsZTpmYWxzZSwgdGVzdCB0aGF0IG5ldyBsZW5ndGggaXMgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBub24tZGVsZXRhYmxlIGluZGV4IGJ5IDEsIHdyaXRhYmxlIGF0dHJpYnV0ZSBvZiBsZW5ndGggaXMgc2V0IHRvIGZhbHNlIGFuZCBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biAoMTUuNC41LjEgc3RlcCAzLmkuaWlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5IGFuZCBhbHNvIGxlc3NlciB0aGFuIGFuIGluZGV4IG9mIHRoZSBhcnJheSB3aGljaCBpcyBzZXQgdG8gY29uZmlndXJhYmxlOiBmYWxzZSwgdGVzdCB0aGF0IG5ldyBsZW5ndGggaXMgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBub24tZGVsZXRhYmxlIGluZGV4IGJ5IDEsIGFuZCBUeXBlRXJyb3IgaXMgdGhyb3duICgxNS40LjUuMSBzdGVwIDMubC5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjIiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjIiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDEwLmEuaWkuMQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgY2hhbmdpbmcgdGhlIHZhbHVlIG9mIG5vbi13cml0YWJsZSBwcm9wZXJ0aWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgdmFsdWUgb2Ygbm9uLXdyaXRhYmxlIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYSBkYXRhIHZhbHVlZCBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgdmFyIGQxID0geyB2YWx1ZTogMTAxIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIG5vdywgdHJ5aW5nIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgImZvbyIgc2hvdWxkIGZhaWwsIHNpbmNlIGJvdGgNCiAgLy8gW1tDb25maWd1cmFibGVdXSBhbmQgW1tXcml0YWJsZV1dIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMiB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICAgICAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgICBkMi53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5IGFuZCBhbHNvIGxlc3NlciB0aGFuIGFuIGluZGV4IG9mIHRoZSBhcnJheSB3aGljaCBpcyBzZXQgdG8gY29uZmlndXJhYmxlOiBmYWxzZSwgdGVzdCB0aGF0IG5ldyBsZW5ndGggaXMgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSBub24tZGVsZXRhYmxlIGluZGV4IGJ5IDEsIHdyaXRhYmxlIGF0dHJpYnV0ZSBvZiBsZW5ndGggaXMgc2V0IHRvIGZhbHNlIGFuZCBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyBjYW4ndCBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDI7IC8vIE5vdCBzZXR0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBwcm9wZXJ0eSAiMSIgdG8gZmFsc2UgaGVyZSwgc2luY2UgQXJyYXkucHJvdG90eXBlIGlzIGEgZ2xvYmFsIG9iamVjdCwgYW5kIG5vbi1jb25maWd1cmJhbGUgcHJvcGVydHkgY2FuJ3QgcmV2ZXJ0IHRvIGNvbmZpZ3VyYWJsZQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMSAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyICYmIGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOyANCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyck9iai5sZW5ndGggPT09IDIgJiYgYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuJ3Qgc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgLy8gTm90IHNldHRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICIxIiB0byBmYWxzZSBoZXJlLCBzaW5jZSBBcnJheS5wcm90b3R5cGUgaXMgYSBnbG9iYWwgb2JqZWN0LCBhbmQgbm9uLWNvbmZpZ3VyYmFsZSBwcm9wZXJ0eSBjYW4ndCByZXZlcnQgdG8gY29uZmlndXJhYmxlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAxICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICANCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDI7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsgDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsgDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBjb25maWd1cmFibGUgbGFyZ2UgaW5kZXggbmFtZWQgcHJvcGVydHkgb2YgJ08nIGlzIGRlbGV0ZWQgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xNzktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBncmVhdGVyIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzYW1lIGFzIFtbVmFsdWVdXSAoMTUuNC41LjEgc3RlcCAzLmwuaWlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzDQogICAgICAgIH0pOyAgICAgICAgICANCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgY2hhbmdpbmcgdGhlIHNldHRlciBpZiBwcmVzZW50Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgc2V0dGVyIG9mIG5vbi1jb25maWd1cmFibGUgYWNjZXNzb3IgcHJvcGVydGllcyg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTt9DQogIHZhciBkMSA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gY2hhbmdlIHRoZSBzZXR0ZXIgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAoeCkge307DQogIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KCSAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIGZhbHNlIGF0IGxhc3Qgd2hlbiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSBhbmQgJ08nIGRvZXNuJ3QgY29udGFpbiBub24tY29uZmlndXJhYmxlIGxhcmdlIGluZGV4IG5hbWVkIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDMubSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICAgICAgDQogICAgICAgIGFyck9iai5sZW5ndGggPSAxMDsgLy90cnkgdG8gb3ZlcndyaXRlIGxlbmd0aCB2YWx1ZSBvZiBhcnINCiAgICAgICAgcmV0dXJuICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJPYmoubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGF2YWlsYWJsZSBTdHJpbmcgdmFsdWVzIHRoYXQgY29udmVydCB0byBudW1iZXJzICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqWzBdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgLSAyICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNDI5NDk2NzI5NCwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk0IikgJiYgYXJyT2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NSAmJiBhcnJPYmpbNDI5NDk2NzI5NF0gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgLSAxICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNDI5NDk2NzI5NSwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk1IikgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMCAmJiBhcnJPYmpbNDI5NDk2NzI5NV0gPT09IDEwMDsgOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKDE1LjQuNS4xIHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCA0Mjk0OTY3Mjk2LCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTYiKSAmJiBhcnJPYmoubGVuZ3RoID09PSAwICYmIGFyck9ials0Mjk0OTY3Mjk2XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKyAxICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNDI5NDk2NzI5Nywgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk3IikgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMCAmJiBhcnJPYmpbNDI5NDk2NzI5N10gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyBpcyBmYWxzZSBhbmQgdmFsdWUgb2YgJ25hbWUnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDEsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlIGFuZCB2YWx1ZSBvZiAnbmFtZScgZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMywgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlIGFuZCB2YWx1ZSBvZiAnbmFtZScgaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgNCwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHBlcm1pdHMgc2V0dGluZyBhIHNldHRlciAoaWYgYWJzZW50KS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgcGVybWl0cyBzZXR0aW5nIGEgc2V0dGVyIChpZiBhYnNlbnQpIG9mIG5vbi1jb25maWd1cmFibGUgYWNjZXNzb3IgcHJvcGVydGllcyg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTt9DQogIHZhciBkMSA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gc2V0IHRoZSBzZXR0ZXIgc2hvdWxkIHN1Y2NlZWQgZXZlbiB0aG91Z2ggW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCiAgdmFyIGRlc2MgPSB7IHNldDogdW5kZWZpbmVkIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQoNCiAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQoNCiAgaWYgKGQyLmdldCA9PT0gZ2V0dGVyICYmDQoJICBkMi5zZXQgPT09IHVuZGVmaW5lZCAmJg0KCSAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KCSAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UpIHsNCglyZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gb24gdXBkYXRpbmcgdGhlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5IiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAib3duRGF0YVByb3BlcnR5IiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5LCB0ZXN0IHRoYXQgZGVmaW5pbmcgb3duIGluZGV4IG5hbWVkIHByb3BlcnR5IGlzIHN1Y2Nlc3NmdWwgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExICYmIHR5cGVvZiBhcnJPYmpbMF0gPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gb24gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExICYmIGFyck9ialswXSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRlIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB0byB0cnVlIGFuZCB2YWx1ZSBvZiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvcmlnaW5hbCBpcyBmYWxzZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExICYmIGFyck9ialswXSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIG9uIHVwZGF0aW5nIHRoZSBjb25maWd1cmFibGUgYXR0cmlidXRlIGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGFyck9iai5oZWxwVmVyaWZ5U2V0Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGFyck9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyck9ialswXSA9IDEzOw0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiAnTycgaXMgbm90IGV4dGVuc2libGUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyck9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogMSB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCBkZXNjKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgKGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpID09PSBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGFzIGRhdGEgcHJvcGVydHkgd2hlbiAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgbmV3bHkgZGVmaW5lZCBkYXRhIHByb3BlcnRpZXMsIGF0dHJpYnV0ZXMNCiAqIG1pc3NpbmcgZnJvbSBkZXNjIHNob3VsZCBoYXZlIHZhbHVlcyBzZXQgdG8gdGhlIGRlZmF1bHRzIGZyb20gOC42LjEuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgc2V0cyBtaXNzaW5nIGF0dHJpYnV0ZXMgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMgKGRhdGEgcHJvcGVydGllcykoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgDQogIHZhciBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICANCiAgaWYgKHByb3BEZXNjLnZhbHVlICAgICAgICA9PT0gMSAmJiAgICAgICAgICAvLyB0aGlzIGlzIHRoZSB2YWx1ZSB0aGF0IHdhcyBzZXQNCiAgICAgIHByb3BEZXNjLndyaXRhYmxlICAgICA9PT0gZmFsc2UgJiYgICAgICAvLyBmYWxzZSBieSBkZWZhdWx0DQogICAgICBwcm9wRGVzYy5lbnVtZXJhYmxlICAgPT09IGZhbHNlICYmICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgICAgcHJvcERlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgeyAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaWkNCiAqIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGNoYW5naW5nIHRoZSBnZXR0ZXIgaWYgcHJlc2VudC4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIGdldHRlciAoaWYgcHJlc2VudCkgb2Ygbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IGdldHRlci9zZXR0ZXINCiAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7fQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBjb25maWd1cmFibGU6IGZhbHNlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIG5vdywgdHJ5aW5nIHRvIGNoYW5nZSB0aGUgc2V0dGVyIHNob3VsZCBmYWlsLCBzaW5jZSBbW0NvbmZpZ3VyYWJsZV1dDQogIC8vIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgZ2V0OiB1bmRlZmluZWQgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQoNCiAgICAgIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KCSAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbVmFsdWVdXSBvZiAnbmFtZScgcHJvcGVydHkgb2YgJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyB1bmRlZmluZWQgaWYgW1tWYWx1ZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW1dyaXRhYmxlXV0gaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycsIHRlc3QgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiAgcHJvcGVydHkgJ25hbWUnIGlzIHNldCB0byBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnLCB0ZXN0IFtbQ29uZmlndXJhYmxlXV0gb2YgcHJvcGVydHkgJ25hbWUnIGlzIHNldCB0byBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBhbGwgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMV07IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0dldF1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW0dldF1dIGF0dHJpYnV0ZSBvZiBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbU2V0XV0gb2YgJ25hbWUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIFtbU2V0XV0gaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyT2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKSAmJiBkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycsIHRlc3QgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICduYW1lJyBpcyBzZXQgdG8gZmFsc2UgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTQ7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3Igbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzLCBzdGVwIDExLmEuaWkNCiAqIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSBwZXJtaXRzIHNldHRpbmcgYSBnZXR0ZXIgaWYgYWJzZW50Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBwZXJtaXRzIHNldHRpbmcgYSBnZXR0ZXIgKGlmIGFic2VudCkgb2Ygbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIC8vIGR1bW15IHNldHRlcg0KICB2YXIgc2V0dGVyID0gZnVuY3Rpb24gKHgpIHt9DQogIHZhciBkMSA9IHsgc2V0OiBzZXR0ZXIgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gc2V0IHRoZSBnZXR0ZXIgc2hvdWxkIHN1Y2NlZWQgZXZlbiB0aG91Z2ggW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4gRXhpc3RpbmcgdmFsdWVzIG9mIG5lZWQgdG8gYmUgcHJlc2VydmVkLg0KICB2YXIgZ2V0dGVyID0gdW5kZWZpbmVkOw0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCg0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgIGQyLnNldCA9PT0gc2V0dGVyICYmDQogICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50IChuYW1lIGlzIGRhdGEgcHJvcGVydHkpICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqWzBdID0gMTAxOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHt9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50KG5hbWUgaXMgYWNjZXNzb3IgcHJvcGVydHkpICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHt9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiB0aGUgdmFsdWUgb2YgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHZhbHVlIGFzIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkIGluICduYW1lJyhkZXNjIGlzIGRhdGEgcHJvcGVydHkpICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqWzBdID0gMTAwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIG1ha2VzIG5vIGNoYW5nZSBpZiB0aGUgdmFsdWUgb2YgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHZhbHVlIGFzIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkIGluICduYW1lJyhkZXNjIGlzIGFjY2Vzc29yIHByb3BlcnR5KSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiMTAwIjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIGRlc2MpOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSBhbmQgaXRzIGNvbmZpZ3VyYWJsZSBhbmQgd3JpdGFibGUgYXR0cmlidXRlcyBhcmUgc2V0IHRvIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgdHlwZSBvZiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgdHlwZSBvZiB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAwLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogImFiYyIgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB1bmRlZmluZWQgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IHVuZGVmaW5lZCB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IHVuZGVmaW5lZCB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSBudWxsICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogbnVsbCB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IG51bGwgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgbnVsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSBOYU4gICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBOYU4gfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBOYU4gfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gYXJyT2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IChhcnJPYmpbMF0gIT09IGFyck9ialswXSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgIGFyck9ialswXSA9IDEwMDE7DQogICAgICAgIHZlcmlmeVdyaXRhYmxlID0gYXJyT2JqWzBdICE9PSAxMDAxICYmIGFyck9ialswXSAhPT0gYXJyT2JqWzBdOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyT2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gIjAiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnJPYmpbMF07DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IC0wIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICswIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICswIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IC0wIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBleGlzdGluZyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmouZm9vID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG51bWJlcnMgd2l0aCBzYW1lIHZhdWxlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAxMDEgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAxMDEgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duICB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBudW1iZXJzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IDEyMyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIHN0cmluZ3Mgd2hpY2ggaGF2ZSBzYW1lIGxlbmd0aCBhbmQgc2FtZSBjaGFyYWN0ZXJzIGluIGNvcnJlc3BvbmRpbmcgcG9zaXRpb25zICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAiYWJjZCIgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAiYWJjZCIgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duICB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBzdHJpbmdzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICJmZ2hqIiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggc2FtZSB2YWx1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IHRydWUgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBmYWxzZSB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IG9iajEgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBvYmoxIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdHdvIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMCwgew0KICAgICAgICAgICAgdmFsdWU6IG9iajEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmoyID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogb2JqMiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggc2FtZSB2YWx1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB3cml0YWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHdyaXRhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB3cml0YWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgd3JpdGFibGU6IHRydWUgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBleGlzdGluZyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJmb28iKSAmJiAodHlwZW9mIG9iai5mb28pID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgYXJyT2JqLmhlbHBWZXJpZnlTZXQgPSAxMDsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyck9iai5oZWxwVmVyaWZ5U2V0Ow0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgImhlbHBWZXJpZnlTZXQiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgYXJyT2JqLmhlbHBWZXJpZnlTZXQgPSAxMDsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmouaGVscFZlcmlmeVNldDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouaGVscFZlcmlmeVNldCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMyLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBzZXQ6IHNldEZ1bmMgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHNldDogc2V0RnVuYyB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMSgpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgc2V0OiBzZXRGdW5jMiB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jMiwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIHNhbWUgdmFsdWUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IGVudW1lcmFibGU6IGZhbHNlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgZW51bWVyYWJsZTogdHJ1ZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBzYW1lIHZhbHVlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlICBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KDQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAzLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgW1tFbnVtZXJhYmxlXV0gb2YgJ2Rlc2MnIGlzIHByZXNlbnQgYW5kIGl0cyB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIDMsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLmZvbyA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiAnbmFtZScgaXMgYWNjZXNzb3IgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiAgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHksIGFuZCdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIHRydWUsIHRlc3QgJ25hbWUnIGlzIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwMSwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgICduYW1lJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgdGVzdCAnbmFtZScgaXMgY29udmVydGVkIGZyb20gZGF0YSBwcm9wZXJ0eSB0byBhY2Nlc3NvciBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzNdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAgYXNzaWdubWVudCB0byB0aGUgYWNjZXNzb3IgcHJvcGVydHksIGZhaWxzIHRvIGNvbnZlcnQgYWNjZXNzb3IgcHJvcGVydHkgZnJvbSBhY2Nlc3NvciBwcm9wZXJ0eSB0byBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyT2JqWzFdID0gNDsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgICduYW1lJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgdGVzdCAnbmFtZScgaXMgY29udmVydGVkIGZyb20gYWNjZXNzb3IgcHJvcGVydHkgdG8gZGF0YSBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlIGFuZCB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIHR5cGUgb2YgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZGlmZmVyZW50IGZyb20gdGhlIHR5cGUgb2YgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAtMA0KDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogKzANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiArMA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogLTANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG51bWJlcnMgd2l0aCBkaWZmZXJlbnQgdmF1bGVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxNQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIHN0cmluZ3Mgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiZmdoIg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsICJhYmMiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdkYXRhJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLmZvbyA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgeyB2YWx1ZToge30gfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIG9iaiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBvYmplY3QgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyck9iaiwgIjEiKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5R2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0IikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICIxIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnJPYmpbMV07DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB2ZXJpZnlHZXQgJiYgdmVyaWZ5U2V0ICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxNDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICIxIik7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlHZXQgPSBhcnJPYmpbMV0gPT09IGdldEZ1bmMoKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVNldCA9IGRlc2MuaGFzT3duUHJvcGVydHkoInNldCIpICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMSIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcnJPYmpbMV07DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgaGFzUHJvcGVydHkgJiYgdmVyaWZ5R2V0ICYmDQogICAgICAgICAgICAgICAgdmVyaWZ5U2V0ICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBvYmplY3QgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICIxIik7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlHZXQgPSBhcnJPYmpbMV0gPT09IGdldEZ1bmMoKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVNldCA9IGRlc2MuaGFzT3duUHJvcGVydHkoInNldCIpICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyck9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMSIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcnJPYmpbMV07DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgaGFzUHJvcGVydHkgJiYgdmVyaWZ5R2V0ICYmDQogICAgICAgICAgICAgICAgdmVyaWZ5U2V0ICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEwMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAwDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEwMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5wcm9wZXJ0eSA9PT0gMTE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGZyb20gdW5kZWZpbmVkIHRvIG51bWJlciAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW3VuZGVmaW5lZF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEwMF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMCwgZmFsc2UsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMTAwXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMCwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFsxMDBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMTAwXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBmcm9tIHVuZGVmaW5lZCB0byBmdW5jdGlvbiBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFzIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBmcm9tIHVuZGVmaW5lZCB0byBmdW5jdGlvbiBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgbmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBub3QgY2hhbmdlZCBpZiBUb1VpbnQzMignbmFtZScpIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyAoMTUuNC41LjEgc3RlcCA0LmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGFyck9iai5sZW5ndGggPSAzOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGxlbmd0aDogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDMgJiYgYXJyT2JqWzFdID09PSAxNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgYXMgVG9VaW50MzIoJ25hbWUnKSArIDEgaWYgVG9VaW50MzIoJ25hbWUnKSBlcXVhbHMgdG8gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICBhcnJPYmoubGVuZ3RoID0gMzsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBsZW5ndGg6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiBmYWxzZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIzIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDQgJiYgYXJyT2JqWzNdID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgYXMgVG9VaW50MzIoJ25hbWUnKSArIDEgaWYgVG9VaW50MzIoJ25hbWUnKSBpcyBncmVhdGVyIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICI1Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDYgJiYgYXJyT2JqWzVdID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAgJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgZ2VuZXJpYyBwcm9wZXJ0eSB0aGF0IHdvbid0IGV4aXN0IG9uICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCAxMiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnbmFtZScgaXMgZ2VuZXJpYyBwcm9wZXJ0eSB0aGF0IHdvbid0IGV4aXN0IG9uICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI0Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBhcnJPYmoucHJvcGVydHkgPSAxMjsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAzNg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHt9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZGVmaW5lZCBpbiBib3RoIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nIGFuZCAnTycsIGFuZCBpcyBkZWxldGVkIGFmdGVyd2FyZHMsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDA7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCB0cnVlLCB0cnVlLCB0cnVlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiAnTycsIGFuZCBpcyBkZWxldGVkIGFmdGVyd2FyZHMsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgeyANCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZGVmaW5lZCBpbiBib3RoIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nIGFuZCAnTycsIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgDQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiAnTycsIGFuZCBpcyBkZWxldGVkIGFmdGVyd2FyZHMsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnbmFtZScgaXMgcmVkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSgwLCAxLCAyKSk7ICAgIA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMgYW5kIDUuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgDQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMyKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYzIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMyLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMyBhbmQgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDIwOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAyMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyBub3QgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMyBhbmQgNWIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyB1bndyaXRhYmxlIGFuZCBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQgYW5kIHN0ZXAgNWIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAyMA0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyBub3QgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMyBhbmQgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMTA7ICAgICAgICANCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAyMCwgZmFsc2UsIHRydWUsIHRydWUpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLXdyaXRhYmxlIGFuZCBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQgYW5kIDViKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgc3RlcCA1YikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0IGFuZCBzdGVwIDViKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMTA7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgc3RlcCA1YSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXBzIDQgYW5kIDVhKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwcyA0IGFuZCA1YSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgbmV3bHkgZGVmaW5lZCBhY2Nlc3NvciBwcm9wZXJ0aWVzLCBhdHRyaWJ1dGVzDQogKiBtaXNzaW5nIGZyb20gZGVzYyBzaG91bGQgaGF2ZSB2YWx1ZXMgc2V0IHRvIHRoZSBkZWZhdWx0cyBmcm9tIDguNi4xLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHNldHMgbWlzc2luZyBhdHRyaWJ1dGVzIHRvIHRoZWlyIGRlZmF1bHQgdmFsdWVzIChhY2Nlc3NvcikoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfTsNCiAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyIH07DQoNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCg0KICB2YXIgcHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICBpZiAodHlwZW9mKHByb3BEZXNjLmdldCkgPT09ICJmdW5jdGlvbiIgJiYgIC8vIHRoZSBnZXR0ZXIgbXVzdCBiZSB0aGUgZnVuY3Rpb24gdGhhdCB3YXMgcHJvdmlkZWQNCiAgICAgIHByb3BEZXNjLmdldCA9PT0gZ2V0dGVyICYmDQogICAgICBwcm9wRGVzYy5lbnVtZXJhYmxlICAgPT09IGZhbHNlICYmICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgICAgcHJvcERlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSkgeyAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgc3RlcCA1YSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBhbiBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBhbiBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzIGFuZCBzdGVwIDVhKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDA7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnbmFtZScgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzBdOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTANCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMxLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgICAgICB9KTsgICAgICAgICAgICANCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCAxMDAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBwcm9wZXJ0eSwgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidGVzdGdldEZ1bmN0aW9uIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidGVzdGdldEZ1bmN0aW9uIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdldEZ1bmN0aW9uU3RyaW5nIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnRlc3RnZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGMgPT09IDM7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ0ZXN0Z2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdldEZ1bmN0aW9uU3RyaW5nIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnRlc3RnZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidGVzdGdldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3Qgd3JpdGFibGUgYW5kIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYiA9PT0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IHdyaXRhYmxlIGFuZCBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJmb28iKSAmJiB0eXBlb2Ygb2JqLmZvbyA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmhlbHBWZXJpZnlHZXQgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm92ZXJpZGVHZW5lcmljUHJvcGVydHlTdHJpbmciOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJoZWxwVmVyaWZ5R2V0IiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdlbmVyaWNQcm9wZXJ0eVN0cmluZyI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5oZWxwVmVyaWZ5R2V0ID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvdmVyaWRlR2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeUdldCIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcxID0gdmFsdWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICcnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCBvZiBhIGZ1bmN0aW9uIHRoYXQgaGFzIGZvcm1hbCBwYXJhbWV0ZXJzLCAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyaWNQcm9wZXJ0eVN0cmluZyA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlGb3JtYWwgPSBjID09PSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJnZW5lcmljUHJvcGVydHlTdHJpbmciLCB0cnVlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGNyZWF0ZWQgd2l0aCBmdW5jdGlvbiB0YWtlIGZvcm1hbCBwYXJhbWV0ZXJzLCAnbmFtZScgaXMgb3duIHByb3BlcnR5IG9mIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0ICduYW1lJyBpcyBkZWxldGVkIGlmICduYW1lJyBpcyBjb25maWd1cmFibGUgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDUuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKGEsIGIsIGMpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoMSwgMiwgMyk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosIDAsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcmdPYmpbMF0gPT09IDEyICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCAnbmFtZScgaXMgZGVsZXRlZCBpZiAnbmFtZScgaXMgY29uZmlndXJhYmxlIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA1LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoMSwgMiwgMyk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosIDAsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcmdPYmpbMF0gPT09IDEyICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB3cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmICFhZnRlckRlbGV0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEud3JpdGFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmdW4sICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZnVuLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBmdW4uZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbZW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IC0gc3RlcCAxMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAyLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIGlzIHdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9ialswXSA9PT0gMjAxMCk7DQogICAgICAgIG9ialswXSA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIG9ialswXSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSBpcyB3cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEwMDEpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9ialswXSA9PT0gMjAxMCk7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgMTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IC0gc3RlcCAxMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAyLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEluZGV4ZWQgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOnRydWUsIFtbQ29uZmlndXJhYmxlXV06ZmFsc2UgaXMgd3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdBJyBpcyBhbiBBcnJheSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IChvYmpbMF0gPT09IDIwMTApOw0KICAgICAgICBvYmpbMF0gPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmpbMF0gPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIGlzIHdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1Anc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSAtIHN0ZXAgMTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIE5hbWVkIHByb3BlcnR5ICdQJyB3aXRoIGF0dHJpYnV0ZXMgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTp0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOmZhbHNlIGlzIHdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnQScgaXMgYW4gQXJyYXkgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgd3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBiZWZvcmVEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBhZnRlckRlbGV0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqWzBdID09PSAyMDEwICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIG5hbWVkIGRhdGEgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSBkb2VzIG5vdCBzdWNjZWVkLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS52YWx1ZSA9PT0gMjAxMCAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIG5hbWVkIGRhdGEgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSBkb2VzIG5vdCBzdWNjZWVkLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9iai5wcm9wID09PSAyMDEwICYmDQogICAgICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzktNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0aW5nIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9ialswXSA9PT0gMjAxMCAmJg0KICAgICAgICAgICAgICAgIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9iai5wcm9wID09PSAyMDEwICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmouZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgd3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgIWFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHdyaXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc3RyLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBzdHIuZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IHN0ZXAgLSBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmRleGVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IHN0ZXAgLSBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBuYW1lZCBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgLSBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmRleGVkIHByb3BlcnR5IHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmRleGVkIHByb3BlcnR5IHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IC0gc3RlcCBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmpbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBOYW1lZCBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIGlzIG5vbi13cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5ICdQJyBpcyBhbiBpbmRleGVkIGRhdGEgcHJvcGVydHkgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIDogdHJ1ZSkgaXMgbm9uLXdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZhbHVlVmVyaWZ5ID0gKG9ialswXSA9PT0gMjAxMCk7DQogICAgICAgIG9ialswXSA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZhbHVlVmVyaWZ5ICYmIG9ialswXSA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSBzdGVwIC0gTm90ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IC0gc3RlcCBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIEluZGV4ZWQgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSBpcyBub24td3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IChvYmpbMF0gPT09IDIwMTApOw0KICAgICAgICBvYmpbMF0gPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiBvYmpbMF0gPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXSA6IHRydWUpIGlzIG5vbi13cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2YWx1ZVZlcmlmeSA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gdmFsdWVWZXJpZnkgJiYgb2JqLnByb3AgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSBpcyBub24td3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB2YWx1ZVZlcmlmeSA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgICAgIHJldHVybiB2YWx1ZVZlcmlmeSAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW53cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIG9iai5wcm9wID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgIWFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLmZvbyA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYNCiAgICAgICAgICAgIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICBvYmpbMF0gPT09IDIwICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgZGF0YSBwcm9wZXJ0eSAnUCcgd2hvc2UgYXR0cmlidXRlcyBhcmUgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHksICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJnZXQiKSAmJg0KICAgICAgICAgICAgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgICAgICAgIG9iai5wcm9wID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgZGF0YSBwcm9wZXJ0eSAnUCcgd2hvc2UgYXR0cmlidXRlcyBhcmUgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHksICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYNCiAgICAgICAgICAgICAgICBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgICAgIG9iai5wcm9wID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2hvc2UgYXR0cmlidXRlcyBhcmUgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHksICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICAgICBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgb2JqLnByb3AgPT09IDIwICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICAgICBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgb2JqWzBdID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJnZXQiKSAmJg0KICAgICAgICAgICAgICAgIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICAgICAgb2JqWzBdID09PSAyMCAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVud3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVud3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmouZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBiZWZvcmVEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZSAmJiAhYWZ0ZXJEZWxldGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEud3JpdGFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLndyaXRhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bndyaXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgYWZ0ZXJEZWxldGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gZmFsc2UgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIud3JpdGFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNYXRoLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChNYXRoLCAiZm9vIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5mb287DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS52YWx1ZSA9PT0gMjAxMCAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSAxMDAxICYmIGRlc2MudmFsdWUgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiVGhpc0lzQVN0cmluZyINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09ICJUaGlzSXNBU3RyaW5nIiAmJiBkZXNjLnZhbHVlID09PSAiVGhpc0lzQVN0cmluZyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGZhbHNlICYmIGRlc2MudmFsdWUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIGdlbmVyaWMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdGVtcE9iaiA9IHsgdGVzdHByb3BlcnR5OiAxMDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0ZW1wT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSB0ZW1wT2JqICYmIGRlc2MudmFsdWUgPT09IHRlbXBPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBhcnJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGFyck9iaiAmJiBkZXNjLnZhbHVlID09PSBhcnJPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogc3RyT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBzdHJPYmogJiYgZGVzYy52YWx1ZSA9PT0gc3RyT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogbnVtT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBudW1PYmogJiYgZGVzYy52YWx1ZSA9PT0gbnVtT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zODkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIEJvb2xlYW4gT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogYm9vbE9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gYm9vbE9iaiAmJiBkZXNjLnZhbHVlID09PSBib29sT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzYywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLmZvbyA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGZ1bk9iaiAmJiBkZXNjLnZhbHVlID09PSBmdW5PYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBlcnJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGVyck9iaiAmJiBkZXNjLnZhbHVlID09PSBlcnJPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogZGF0ZU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gZGF0ZU9iaiAmJiBkZXNjLnZhbHVlID09PSBkYXRlT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogcmVnT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSByZWdPYmogJiYgZGVzYy52YWx1ZSA9PT0gcmVnT2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MudmFsdWUgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IG51bGwgJiYgZGVzYy52YWx1ZSA9PT0gbnVsbDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBOYU4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogTmFODQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wICE9PSBvYmoucHJvcCAmJiBkZXNjLnZhbHVlICE9PSBkZXNjLnZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyBJbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBJbmZpbml0eQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gSW5maW5pdHkgJiYgZGVzYy52YWx1ZSA9PT0gSW5maW5pdHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyAtSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogLUluZmluaXR5DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSAtSW5maW5pdHkgJiYgZGVzYy52YWx1ZSA9PT0gLUluZmluaXR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0zOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBmbkdsb2JhbE9iamVjdCgpICYmIGRlc2MudmFsdWUgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBGb3IgbmV3bHkgZGVmaW5lZCBwcm9wZXJ0aWVzLCBzdGVwIDQuYS4xIG9mDQogKiBbW0RlZmluZU93blByb3BlcnR5XV0gY3JlYXRlcyBhIGRhdGEgcHJvcGVydHkgaWYgaGFuZGVkIGEgZ2VuZXJpYyBkZXNjLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGRlZmluZXMgYSBkYXRhIHByb3BlcnR5IGlmIGdpdmVuIGEgZ2VuZXJpYyBkZXNjKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQogIA0KICB2YXIgZGVzYyA9IHt9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIHZhciBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICBpZiAocHJvcERlc2MudmFsdWUgICAgICAgID09PSB1bmRlZmluZWQgJiYgIC8vIHRoaXMgaXMgdGhlIHZhbHVlIHRoYXQgd2FzIHNldA0KICAgICAgcHJvcERlc2Mud3JpdGFibGUgICAgID09PSBmYWxzZSAmJiAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICAgIHByb3BEZXNjLmVudW1lcmFibGUgICA9PT0gZmFsc2UgJiYgICAgICAvLyBmYWxzZSBieSBkZWZhdWx0DQogICAgICBwcm9wRGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7ICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2MsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzYywgImZvbyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGVzYy5mb28gPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoU3RyaW5nIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICAgICAgcmV0dXJuICFzdHJPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBzdHJPYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHNldCB0byB0cnVlIChBcnJheSBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICAgICAgYXJyT2JqLnByb3AgPSAxMDAyOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgYXJyT2JqLnByb3AgPT09IDEwMDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgaXMgZW51bWVyYWJsZSAoQm9vbGVhbiBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJvb2xlYW4ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGJvb2xPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFib29sT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3Mgb2JqZWN0IGhhcyBhIHByb3BlcnR5IHdpdGggc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHNldCB0byBmYWxzZSAoTnVtYmVyIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTnVtYmVyLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigpOw0KICAgICAgICAgICAgbnVtT2JqLnByb3AgPSAxMDAyOw0KDQogICAgICAgICAgICByZXR1cm4gIW51bU9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG51bU9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIG5vbi1lbnVtZXJhYmxlIChGdW5jdGlvbiBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBmdW5PYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFmdW5PYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoRXJyb3IgSW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvci5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICAgICAgcmV0dXJuICFlcnJPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlcnJPYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHNldCB0byB0cnVlIChEYXRlIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgICAgIGRhdGVPYmoucHJvcCA9IDEwMDI7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRlT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0ZU9iai5wcm9wID09PSAxMDAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIGVudW1lcmFibGUgKFJlZ0V4cCBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlZ0V4cC5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlZ09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChKU09OLCAiZm9vIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5mb287DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byBmYWxzZSAoSlNPTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgSlNPTi5wcm9wID0gMTAwMjsNCg0KICAgICAgICAgICAgcmV0dXJuICFKU09OLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgSlNPTi5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIG5vbi1lbnVtZXJhYmxlIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIE1hdGgpIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFNYXRoLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgIXZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBmaWVsZCBvZiBpbmhlcml0ZWQgcHJvcGVydHkgb2YgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpcyBjb3JyZWN0KE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIk5BTUUiLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICB2YWx1ZTogIkluLXBlcnNvbiBtZWV0aW5nIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHRlYW1NZWV0aW5nLm5hbWUgPT09ICJOQU1FIiAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID09PSAxMDAxICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9PT0gIkluLXBlcnNvbiBtZWV0aW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byB0cnVlIChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJOQU1FIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJJbi1wZXJzb24gbWVldGluZyIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlYW1NZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShtZWV0aW5nKTsNCiAgICAgICAgdGVhbU1lZXRpbmcubmFtZSA9ICJUZWFtIE1lZXRpbmciOw0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCIxMC8zMS8yMDEwIDA4OjAwIik7DQogICAgICAgIHRlYW1NZWV0aW5nLnN0YXJ0VGltZSA9IGRhdGVPYmo7DQogICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID0gIjQyNTU1NTEyMTIiOw0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9IHRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJzdGFydFRpbWUiKSAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHRlYW1NZWV0aW5nLm5hbWUgPT09ICJUZWFtIE1lZXRpbmciICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IGRhdGVPYmogJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiNDI1NTU1MTIxMiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgaXMgZW51bWVyYWJsZSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSBuZXcgT2JqZWN0KCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIk5BTUUiLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICB2YWx1ZTogIkluLXBlcnNvbiBtZWV0aW5nIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoImNvbmZlcmVuY2VDYWxsIik7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHZlcmlmeVRpbWVQcm9wICYmIHZlcmlmeU5hbWVQcm9wICYmIHZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgcHJvcGVydGllcyB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBwcm9wZXJ0aWVzIHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byBmYWxzZSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSBuZXcgT2JqZWN0KCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiTkFNRSIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJJbi1wZXJzb24gbWVldGluZyIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KICAgICAgICB0ZWFtTWVldGluZy5uYW1lID0gIlRlYW0gTWVldGluZyI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoIjEwLzMxLzIwMTAgMDg6MDAiKTsNCiAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID0gZGF0ZU9iajsNCiAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPSAiNDI1NTU1MTIxMiI7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIk5BTUUiICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IDEwMDEgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0aWVzIHdob3NlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBpcyBzZXQgdG8gZmFsc2UgaXMgbm9uLWVudW1lcmFibGUgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiTkFNRSIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJJbi1wZXJzb24gbWVldGluZyIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoImNvbmZlcmVuY2VDYWxsIik7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmICF2ZXJpZnlUaW1lUHJvcCAmJiAhdmVyaWZ5TmFtZVByb3AgJiYgIXZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KDQogICAgICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3NmdWxseSBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byB0cnVlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAxMDAyOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgaXMgZW51bWVyYWJsZSAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzYywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLmZvbyA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgYSBwcm9wZXJ0eSB0byBhbiBvYmplY3Qgd2hlbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlIGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgW1tXcml0YWJsZV1dIHNldCB0byBmYWxzZShGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgICAgICBvYmoucHJvcCA9IDEwMDI7DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSB3aG9zZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIGlzIG5vbi1lbnVtZXJhYmxlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnT2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcmdPYmouZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiB0eXBlb2YgZGVzYzEuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00MzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgdHlwZW9mIGRlc2MxLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuR2xvYmFsT2JqZWN0KCksICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChmbkdsb2JhbE9iamVjdCgpLCAiZm9vIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5mb287DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjMS5zZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBkZWZpbmVkIGFzIGRhdGEgcHJvcGVydHkgaWYgJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nIGFuZCAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yICg4LjEyLjkgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBpdGVtIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShpdGVtKSAmJiBpdGVtID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgaXNFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaXNFbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiB0eXBlb2YgZGVzYzEuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgW1tWYWx1ZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiB0eXBlb2YgZGVzYzEuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00NzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1dyaXRhYmxlXV0gb2YgJ25hbWUnIHByb3BlcnR5IG9mICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDEsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLnNldCA9PT0gc2V0RnVuYyAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFyZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00ODkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnbmFtZScgcHJvcGVydHkgb2YgJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLnNldCA9PT0gc2V0RnVuYyAmJiBkZXNjMi5zZXQgPT09IHNldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgIXJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyB1bmRlZmluZWQsIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC00OTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDYgb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJldHVybnMgaWYNCiAqIGV2ZXJ5IGZpZWxkIG9mIGRlc2MgYWxzbyBvY2N1cnMgaW4gY3VycmVudCBhbmQgZXZlcnkgZmllbGQgaW4gZGVzYyBoYXMNCiAqIHRoZSBzYW1lIHZhbHVlIGFzIGN1cnJlbnQuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgaXMgbm8tb3AgaWYgY3VycmVudCBhbmQgZGVzYyBhcmUgdGhlIHNhbWUgZGF0YSBkZXNjDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gc2FtZURhdGFEZXNjcmlwdG9yVmFsdWVzKGQxLCBkMikgew0KICAgIHJldHVybiAoZDEudmFsdWUgPT09IGQyLnZhbHVlICYmDQogICAgICAgICAgICBkMS5lbnVtZXJhYmxlID09PSBkMi5lbnVtZXJhYmxlICYmDQogICAgICAgICAgICBkMS53cml0YWJsZSA9PT0gZDIud3JpdGFibGUgJiYNCiAgICAgICAgICAgIGQxLmNvbmZpZ3VyYWJsZSA9PT0gZDIuY29uZmlndXJhYmxlKTsNCiAgfQ0KDQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkgd2l0aCB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXM6DQogIC8vIHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUNCiAgb1siZm9vIl0gPSAxMDE7DQoNCiAgLy8gcXVlcnkgZm9yLCBhbmQgc2F2ZSwgdGhlIGRlc2MuIEEgc3Vic2VxdWVudCBjYWxsIHRvIGRlZmluZVByb3BlcnR5DQogIC8vIHdpdGggdGhlIHNhbWUgZGVzYyBzaG91bGQgbm90IGRpc3R1cmIgdGhlIHByb3BlcnR5IGRlZmluaXRpb24uDQogIHZhciBkMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOyAgDQoNCiAgLy8gbm93LCByZWRlZmluZSB0aGUgcHJvcGVydHkgd2l0aCB0aGUgc2FtZSBkZXNjcmlwdG9yDQogIC8vIHRoZSBwcm9wZXJ0eSBkZWZpbnRpb24gc2hvdWxkIG5vdCBnZXQgZGlzdHVyYmVkLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgZW51bWVyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOyANCg0KICBpZiAoc2FtZURhdGFEZXNjcmlwdG9yVmFsdWVzKGQxLCBkMikgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyAgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogMSB9OyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDIgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MyLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFyZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3Igd2l0aG91dCBhbnkgYXR0cmlidXRlLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdvYmonIHdpdGggYWxsIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZ2V0ID09PSBnZXRGdW5jICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYyAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjMS5zZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgIXJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0dldF1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgdW5kZWZpbmVkIGlmIGl0IGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSAiZGF0YTEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uMSIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24xIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24xIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSBzdGVwIDExKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSAiZGF0YTEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgd2lsbCB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGEgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIHN1Y2Nlc3NmdWwsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9iai5wcm9wID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9ialswXSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIHN1Y2Nlc3NmdWwsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9ialswXSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmpbMF0gPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIG9ialswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9ICJkYXRhMSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjE7DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uMSIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSBzdGVwIDExKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9ICJkYXRhMSI7DQogICAgICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2l0aG91dCBbW1NldF1dIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIGZhaWxlZCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgb2JqWzBdID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2l0aG91dCBbW1NldF1dIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIGZhaWxlZCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2l0aG91dCBbW1NldF1dIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIGZhaWxlZCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZ2V0ID09PSBnZXRGdW5jICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuc2V0ID09PSBzZXRGdW5jICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmMuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYNCiAgICAgICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgICAgICBkZWxldGUgb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmMuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7IA0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYNCiAgICAgICAgICAgIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTAwMSwgZmFsc2UsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzgtNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSB0byBhIGRhdGEgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYNCiAgICAgICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmDQogICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDEsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01MzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1NldF1dIG9mICduYW1lJyBwcm9wZXJ0eSBvZiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInByb3BlcnR5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICBpZiAob2JqLnByb3BlcnR5ICE9PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIGlmICh0eXBlb2YgZGVzYy5zZXQgIT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQogICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGEgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ08nIGlzIGFuIE9iamVjdCBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlMSkgew0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBlMSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFVwZGF0aW5nIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50IGlzIHN1Y2Nlc3NmdWwsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmoudmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGFuIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGEgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUxKSB7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGUxIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgb2JqLnZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgb2JqLnZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ08nIGlzIGFuIE9iamVjdCBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmVzdWx0ID0gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUxKSB7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGUxIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGEgbmFtZWQgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGFuZCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBmYWlscyB0byB1cGRhdGUgW1tHZXRdXSBhbmQgW1tTZXRdXSBhdHRyaWJ1dGVzIG9mIGFuIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHdob3NlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAtOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmoudmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuc2V0ID09PSBzZXRGdW5jICYmIGRlc2MyLnNldCA9PT0gc2V0RnVuYyAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQogICAgICAgIA0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmMiLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuYyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQogICAgICAgIA0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmMiLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDctNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgdG8gYSBkYXRhIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuYyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnbmFtZScgcHJvcGVydHkgb2YgJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHN1Y2Nlc3MgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbR2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbU2V0XV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGZhaWwgdG8gdXBkYXRlIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSAoW1tHZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHplcm8gYXJndW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIG9uZSBhcmd1bWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoYXJnMSkgew0KICAgICAgICAgICAgcmV0dXJuIDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHR3byBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKGFyZzEsIGFyZzIpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDEwOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NjkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggY29udGFpbnMgZ2xvYmFsIHZhcmlhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2xvYmFsVmFyaWFibGUgPSAyMDsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBnbG9iYWxWYXJpYWJsZSA9IDIwMTA7DQogICAgICAgICAgICByZXR1cm4gZ2xvYmFsVmFyaWFibGU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAyMDEwICYmIGdsb2JhbFZhcmlhYmxlID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDE0Ow0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggZG9lc24ndCBjb250YWlucyByZXR1cm4gc3RhdGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdmVyaWZ5RXhlY3V0ZSA9IGZhbHNlOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZlcmlmeUV4ZWN1dGUgPSB0cnVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCIgJiYgdmVyaWZ5RXhlY3V0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaW52b2x2ZXMgJ3RoaXMnIG9iamVjdCBpbnRvIHN0YXRlbWVudChzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICBsZW46IDIwMTANCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gb2JqICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHplcm8gYXJndW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIG9uZSBhcmd1bWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9IDIwOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAyMDEwOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaGFzIHR3byBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmaXJzdEFyZyA9IDEyOw0KICAgICAgICB2YXIgc2Vjb25kQXJnID0gMTI7DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgZmlyc3RBcmcgPSBhOw0KICAgICAgICAgICAgc2Vjb25kQXJnID0gYjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIG9iai5wcm9wID0gMTAwOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBmaXJzdEFyZyA9PT0gMTAwICYmIHR5cGVvZiBzZWNvbmRBcmcgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggY29udGFpbnMgZ2xvYmFsIHZhcmlhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2xvYmFsVmFyaWFibGUgPSAyMDsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBnbG9iYWxWYXJpYWJsZSA9IDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIG9iai5wcm9wID0gMTA7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIGdsb2JhbFZhcmlhYmxlID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggY29udGFpbnMgcmV0dXJuIHN0YXRlbWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDEwOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbU2V0XV0gYXR0cmlidXRlIGlzIGEgZnVuY3Rpb24gd2hpY2ggaW52b2x2ZXMgJ3RoaXMnIG9iamVjdCBpbnRvIHN0YXRlbWVudChzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdGhpcy5sZW4gPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAyMDEwOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9iai5sZW4gPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoU3RyaW5nIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFN0cmluZy5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgICAgIHJldHVybiAhc3RyT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgc3RyT2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01NzkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gYWRkIHByb3BlcnR5IGludG8gb2JqZWN0IChBcnJheSBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgICAgIGFyck9iai5wcm9wID0gIm15T3duUHJvcGVydHkiOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGFyck9iai5wcm9wID09PSAibXlPd25Qcm9wZXJ0eSIgJiYgZGF0YSA9PT0gIm15T3duUHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBkYXRhIGRlc2NyaXB0b3IgYW5kIGV2ZXJ5IGZpZWxkcyBpbiAnZGVzYycgaXMgYWJzZW50ICg4LjEyLjkgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7fSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChCb29sZWFuIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEJvb2xlYW4ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKCk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBib29sT2JqKSB7DQogICAgICAgICAgICAgICAgaWYocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFib29sT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gYWRkIHByb3BlcnR5IGludG8gb2JqZWN0IChOdW1iZXIgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTnVtYmVyLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKCk7DQogICAgICAgICAgICBudW1PYmoucHJvcCA9ICJteU93blByb3BlcnR5IjsNCg0KICAgICAgICAgICAgcmV0dXJuICFudW1PYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBudW1PYmoucHJvcCA9PT0gImRhdGEiICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoRnVuY3Rpb24gaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGZ1bk9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIWZ1bk9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmICF2ZXJpZnlFbnVtZXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoRXJyb3IgSW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIHJldHVybiAhZXJyT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZXJyT2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWxlZCB0byBhZGQgcHJvcGVydHkgaW50byBvYmplY3QgKERhdGUgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgICAgIGRhdGVPYmoucHJvcCA9ICJteU93blByb3BlcnR5IjsNCg0KICAgICAgICAgICAgcmV0dXJuICFkYXRlT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0ZU9iai5wcm9wID09PSAibXlPd25Qcm9wZXJ0eSIgJiYgZGF0YSA9PT0gIm15T3duUHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChSZWdFeHAgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVnRXhwLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIXJlZ09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBKU09OLnByb3AgPSAibXlPd25Qcm9wZXJ0eSI7DQoNCiAgICAgICAgICAgIHJldHVybiAhSlNPTi5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIEpTT04ucHJvcCA9PT0gImRhdGEiICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoTWF0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gTWF0aCkgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIU1hdGguaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSB7fTsNCg0KICAgICAgICB2YXIgZGF0YTEgPSAxMDAxOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkYXRhMiA9ICJOQU1FIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICB2YXIgZGF0YTMgPSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIk5BTUUiICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IDEwMDEgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01ODkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgdmFyIGRhdGExID0gMTAwMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGF0YTIgPSAiTkFNRSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIHZhciBkYXRhMyA9ICJJbi1wZXJzb24gbWVldGluZyI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMyA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQogICAgICAgIHRlYW1NZWV0aW5nLm5hbWUgPSAiVGVhbSBNZWV0aW5nIjsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgiMTAvMzEvMjAxMCAwODowMCIpOw0KICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPSBkYXRlT2JqOw0KICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9ICI0MjU1NTUxMjEyIjsNCg0KICAgICAgICB2YXIgaGFzT3duUHJvcGVydHkgPSAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoIm5hbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJzdGFydFRpbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCdjb25mZXJlbmNlQ2FsbCcpOw0KDQogICAgICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eSAmJiB0ZWFtTWVldGluZy5uYW1lID09PSAiVGVhbSBNZWV0aW5nIiAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID09PSBkYXRlT2JqICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9PT0gIjQyNTU1NTEyMTIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yIGFuZCBldmVyeSBmaWVsZHMgaW4gJ2Rlc2MnIGlzIGFic2VudCAoOC4xMi45IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLmhlbHBWZXJpZnlTZXQgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHt9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIHZhciBkYXRhMSA9IDEwMDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRhdGEyID0gIk5BTUUiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICB2YXIgZGF0YTMgPSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTMgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHZlcmlmeVRpbWVQcm9wICYmIHZlcmlmeU5hbWVQcm9wICYmIHZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IG9mIFtbUHJvcHRvdHlwZV1dIGludGVybmFsIHByb3BlcnR5IChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIHZhciBkYXRhMSA9IDEwMDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkYXRhMiA9ICJOQU1FIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICB2YXIgZGF0YTMgPSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KICAgICAgICB0ZWFtTWVldGluZy5uYW1lID0gIklFIFRlYW0gTWVldGluZyI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoIjEwLzMxLzIwMTAgMDg6MDAiKTsNCiAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID0gZGF0ZU9iajsNCiAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPSAiNDI1NTU1MTIxMiI7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIk5BTUUiICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IDEwMDEgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSB7fTsNCg0KICAgICAgICB2YXIgZGF0YTEgPSAxMDAxOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkYXRhMiA9ICJOQU1FIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKGFwcG9pbnRtZW50KTsNCiAgICAgICAgdmFyIGRhdGEzID0gIkluLXBlcnNvbiBtZWV0aW5nIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1lZXRpbmcsICJjb25mZXJlbmNlQ2FsbCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KDQogICAgICAgIHZhciB2ZXJpZnlUaW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5TmFtZVByb3AgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZlcmlmeUNhbGxQcm9wID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gdGVhbU1lZXRpbmcpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAic3RhcnRUaW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeVRpbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAibmFtZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlOYW1lUHJvcCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAocCA9PT0gImNvbmZlcmVuY2VDYWxsIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUNhbGxQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmICF2ZXJpZnlUaW1lUHJvcCAmJiAhdmVyaWZ5TmFtZVByb3AgJiYgIXZlcmlmeUNhbGxQcm9wOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFtbR2V0XV0gZmllbGQgb2YgaW5oZXJpdGVkIHByb3BlcnR5IG9mIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgaXMgY29ycmVjdCAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IGRhdGE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIFN1Y2Nlc3MgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBlbnVtZXJhYmxlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEZhaWwgdG8gdXBkYXRlIHZhbHVlIG9mIHByb3BlcnR5IGludG8gb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09ICJkYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIEluaGVyaXRlZCBwcm9wZXJ0eSBpcyBub24tZW51bWVyYWJsZSAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5nZXRQcm90b3R5cGVPZiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJnZXRQcm90b3R5cGVPZiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldFByb3RvdHlwZU9mID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuZ2V0UHJvdG90eXBlT2YgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImdldFByb3RvdHlwZU9mIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmdldFByb3RvdHlwZU9mOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJnZXRQcm90b3R5cGVPZiIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJnZXRQcm90b3R5cGVPZiIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC01OTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImdldE93blByb3BlcnR5RGVzY3JpcHRvciIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDYgb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJldHVybnMgaWYNCiAqIGV2ZXJ5IGZpZWxkIG9mIGRlc2MgYWxzbyBvY2N1cnMgaW4gY3VycmVudCBhbmQgZXZlcnkgZmllbGQgaW4gZGVzYyBoYXMNCiAqIHRoZSBzYW1lIHZhbHVlIGFzIGN1cnJlbnQuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgaXMgbm8tb3AgaWYgY3VycmVudCBhbmQgZGVzYyBhcmUgdGhlIHNhbWUgYWNjZXNzb3IgZGVzYw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIHNhbWVBY2Nlc3NvckRlc2NyaXB0b3JWYWx1ZXMoZDEsIGQyKSB7DQogICAgcmV0dXJuIChkMS5nZXQgPT0gZDIuZ2V0ICYmDQogICAgICAgICAgICBkMS5lbnVtZXJhYmxlID09IGQyLmVudW1lcmFibGUgJiYNCiAgICAgICAgICAgIGQxLmNvbmZpZ3VyYWJsZSA9PSBkMi5jb25maWd1cmFibGUpOw0KICB9DQoNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZXM6DQogIC8vIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICB2YXIgZGVzYyA9IHsNCiAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge30sDQogICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgfTsNCg0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIC8vIHF1ZXJ5IGZvciwgYW5kIHNhdmUsIHRoZSBkZXNjLiBBIHN1YnNlcXVlbnQgY2FsbCB0byBkZWZpbmVQcm9wZXJ0eQ0KICAvLyB3aXRoIHRoZSBzYW1lIGRlc2Mgc2hvdWxkIG5vdCBkaXN0dXJiIHRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uLg0KICB2YXIgZDEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsgIA0KDQogIC8vIG5vdywgcmVkZWZpbmUgdGhlIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgZGVzY3JpcHRvcg0KICAvLyB0aGUgcHJvcGVydHkgZGVmaW50aW9uIHNob3VsZCBub3QgZ2V0IGRpc3R1cmJlZC4NCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCg0KICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsgDQoNCiAgaWYgKHNhbWVBY2Nlc3NvckRlc2NyaXB0b3JWYWx1ZXMoZDEsIGQyKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHR5cGUgb2YgZGVzYy52YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0eXBlIG9mIG5hbWUudmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICJhYmMiIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiYyIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImdldE93blByb3BlcnR5TmFtZXMiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJnZXRPd25Qcm9wZXJ0eU5hbWVzIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImdldE93blByb3BlcnR5TmFtZXMiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiZ2V0T3duUHJvcGVydHlOYW1lcyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5jcmVhdGUgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiY3JlYXRlIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmNyZWF0ZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmNyZWF0ZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiY3JlYXRlIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmNyZWF0ZTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiY3JlYXRlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImNyZWF0ZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJkZWZpbmVQcm9wZXJ0eSIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZGVmaW5lUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmRlZmluZVByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJkZWZpbmVQcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA9IHRlbXA7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiZGVmaW5lUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImRlZmluZVByb3BlcnRpZXMiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllczsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJkZWZpbmVQcm9wZXJ0aWVzIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImRlZmluZVByb3BlcnRpZXMiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiZGVmaW5lUHJvcGVydGllcyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5zZWFsIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgInNlYWwiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3Quc2VhbDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnNlYWwgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5zZWFsID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJzZWFsIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnNlYWw7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoInNlYWwiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAic2VhbCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5mcmVlemUgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZnJlZXplIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmZyZWV6ZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmZyZWV6ZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZnJlZXplIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmZyZWV6ZTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiZnJlZXplIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImZyZWV6ZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJwcmV2ZW50RXh0ZW5zaW9ucyIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9uczsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QucHJldmVudEV4dGVuc2lvbnMgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByZXZlbnRFeHRlbnNpb25zIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJwcmV2ZW50RXh0ZW5zaW9ucyIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJwcmV2ZW50RXh0ZW5zaW9ucyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5pc1NlYWxlZCBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc1NlYWxlZCIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5pc1NlYWxlZDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzU2VhbGVkID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuaXNTZWFsZWQgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImlzU2VhbGVkIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmlzU2VhbGVkOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJpc1NlYWxlZCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJpc1NlYWxlZCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5pc0Zyb3plbiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc0Zyb3plbiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5pc0Zyb3plbjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRnJvemVuID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuaXNGcm96ZW4gPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImlzRnJvemVuIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmlzRnJvemVuOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJpc0Zyb3plbiIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJpc0Zyb3plbiIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MDkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5pc0V4dGVuc2libGUgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNFeHRlbnNpYmxlIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmlzRXh0ZW5zaWJsZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmlzRXh0ZW5zaWJsZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiaXNFeHRlbnNpYmxlIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmlzRXh0ZW5zaWJsZTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiaXNFeHRlbnNpYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImlzRXh0ZW5zaWJsZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiB1bmRlZmluZWQgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IHVuZGVmaW5lZCB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5rZXlzIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImtleXMiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3Qua2V5czsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmtleXMgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5rZXlzID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJrZXlzIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmtleXM7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImtleXMiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAia2V5cyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLnByb3RvdHlwZSwgImJpbmQiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJiaW5kIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFGdW5jdGlvbi5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImJpbmQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAiYmluZCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImluZGV4T2YiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5pbmRleE9mID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJpbmRleE9mIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5pbmRleE9mOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJpbmRleE9mIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImluZGV4T2YiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIE9iamVjdC5sYXN0SW5kZXhPZiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJsYXN0SW5kZXhPZiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImxhc3RJbmRleE9mIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZjsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgibGFzdEluZGV4T2YiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAibGFzdEluZGV4T2YiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJldmVyeSIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5ldmVyeTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5ID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUuZXZlcnkgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImV2ZXJ5Iikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5ldmVyeTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZXZlcnkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiZXZlcnkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTUuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5zb21lIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInNvbWUiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUuc29tZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5zb21lID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJzb21lIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zb21lOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzb21lIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInNvbWUiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTYuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImZvckVhY2giKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUuZm9yRWFjaDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2ggPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJmb3JFYWNoIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJmb3JFYWNoIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImZvckVhY2giLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTcuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5tYXAgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAibWFwIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLm1hcDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcCA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLm1hcCA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAibWFwIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5tYXA7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoIm1hcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJtYXAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTguanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiZmlsdGVyIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLmZpbHRlcjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlciA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLmZpbHRlciA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZmlsdGVyIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5maWx0ZXI7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImZpbHRlciIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJmaWx0ZXIiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MTkuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLnJlZHVjZSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicmVkdWNlIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZWR1Y2U7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInJlZHVjZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJyZWR1Y2UiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgbnVsbCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogbnVsbCB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogbnVsbCB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG51bGwsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjAuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZWR1Y2VSaWdodCIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodDsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0ID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInJlZHVjZVJpZ2h0Iikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodDsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgicmVkdWNlUmlnaHQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlUmlnaHQiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjEuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIFN0cmluZy5wcm90b3R5cGUudHJpbSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAidHJpbSIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IFN0cmluZy5wcm90b3R5cGUudHJpbTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS50cmltID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChTdHJpbmcucHJvdG90eXBlLnRyaW0gPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBTdHJpbmcucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJ0cmltIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUudHJpbTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIVN0cmluZy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRyaW0iKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInRyaW0iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjIuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIERhdGUubm93IGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUsICJub3ciKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBEYXRlLm5vdzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5ub3cgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKERhdGUubm93ID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gRGF0ZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAibm93Iikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIERhdGUubm93Ow0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhRGF0ZS5oYXNPd25Qcm9wZXJ0eSgibm93Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGUsICJub3ciLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjMuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9JU09TdHJpbmciKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gRGF0ZS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInRvSVNPU3RyaW5nIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvSVNPU3RyaW5nIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGUucHJvdG90eXBlLCAidG9JU09TdHJpbmciLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjQuanMNCiAqIEBkZXNjcmlwdGlvbiBFUzUgQXR0cmlidXRlcyAtIGFsbCBhdHRyaWJ1dGVzIGluIERhdGUucHJvdG90eXBlLnRvSlNPTiBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvSlNPTiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IERhdGUucHJvdG90eXBlLnRvSlNPTjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUudG9KU09OID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChEYXRlLnByb3RvdHlwZS50b0pTT04gPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBEYXRlLnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAidG9KU09OIikgew0KICAgICAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnRvSlNPTjsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIURhdGUucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0pTT04iKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICJ0b0pTT04iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRlbXAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02MjVncy5qcw0KICogQGRlc2NyaXB0aW9uIEdsb2JhbGx5IGRlY2xhcmVkIHZhcmlhYmxlIHNob3VsZCB0YWtlIHByZWNlZGVuY2Ugb3ZlciBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IG9mIHRoZSBzYW1lIG5hbWUNCiAqLw0KDQpPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgDQogICAgICAgICAgICAgICAgICAgICAgInByb3AiLCANCiAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAxMDAxLCB3cml0YWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IGZhbHNlfSANCiAgICAgICAgICAgICAgICAgICAgICApOw0KdmFyIHByb3AgPSAxMDAyOw0KDQppZiAoISAodGhpcy5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHByb3AgPT09IDEwMDIpKSB7DQogICAgdGhyb3cgInRoaXMucHJvcCBzaG91bGQgdGFrZSBwcmVjZWRlbmNlIG92ZXIgT2JqZWN0LnByb3RvdHlwZS5wcm9wIjsNCn0NCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgTmFOICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBOYU4gfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IE5hTiB9KTsNCg0KICAgICAgICBpZiAoIWlzTmFOKG9iai5mb28pKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBvYmouZm9vID0gInZlcmlmeVZhbHVlIjsNCiAgICAgICAgaWYgKG9iai5mb28gPT09ICJ2ZXJpZnlWYWx1ZSIpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHByb3ApICYmIHByb3AgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KCJmb28iKSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgPSArMCBhbmQgbmFtZS52YWx1ZSA9IC0wICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAtMCB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICswIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgPSAtMCBhbmQgbmFtZS52YWx1ZSA9ICswICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiArMCB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IC0wIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCArMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTAxOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogMTAyIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIHN0cmluZ3Mgd2hpY2ggaGF2ZSBzYW1lIGxlbmd0aCBhbmQgc2FtZSBjaGFyYWN0ZXJzIGluIGNvcnJlc3BvbmRpbmcgcG9zaXRpb25zICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAiYWJjZCIgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICJhYmNkIiB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gImFiY2QiOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogImZnaGoiIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImZnaGoiLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC02OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdhIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UgYW5kIGRlc2MuW1tDb25maWd1cmFibGVdXSBpcyB0cnVlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBbW0NvbmZpZ3VyYWJsZV1dIGZyb20gZmFsc2UgdG8gdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgY29uZmlndXJhYmxlOiB0cnVlIH07DQoNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIHVuY2hhbmdlZC4NCiAgICAgIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgICAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IHRydWU7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGZhbHNlLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgT2piZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBPYmplY3QgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBPamJlY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICBvYmouZm9vID0gb2JqMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgdmFyIG9iajIgPSB7IGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMiB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy53cml0YWJsZSBhbmQgbmFtZS53cml0YWJsZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB3cml0YWJsZTogZmFsc2V9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB3cml0YWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2Mud3JpdGFibGUgYW5kIG5hbWUud3JpdGFibGUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHdyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHdyaXRhYmxlOiB0cnVlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5bW0dldF1dIGFuZCBuYW1lLltbR2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGdldDogZ2V0RnVuYyB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuW1tHZXRdXSBhbmQgbmFtZS5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYzEodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMSwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYzEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBnZXQ6IGdldEZ1bmMyIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMyLCBzZXRGdW5jMSwgImhlbHBWZXJpZnlTZXQiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5bW1NldF1dIGFuZCBuYW1lLltbU2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHNldDogc2V0RnVuYyB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBzZXQ6IHNldEZ1bmMgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuW1tTZXRdXSBhbmQgbmFtZS5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYzEoKSB7IH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBzZXQ6IHNldEZ1bmMyIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0RnVuYzIsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC03OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5lbnVtZXJhYmxlIGFuZCBuYW1lLmVudW1lcmFibGUgYXJlIGJvb2xlYW4gdmFsdWVzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIFtbRW51bWVyYWJsZV1dIGZyb20gZmFsc2UgdG8gdHJ1ZSBvbiBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSwgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCBzZXR0aW5nIGVudW1lcmFibGUgdG8gdHJ1ZSBzaG91bGQgZmFpbCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCiAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIudmFsdWUgPT09IDEwMSAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuZW51bWVyYWJsZSBhbmQgbmFtZS5lbnVtZXJhYmxlIGFyZSBib29sZWFuIG5lZ2F0aW9uIG9mIGVhY2ggb3RoZXIgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBlbnVtZXJhYmxlOiB0cnVlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGJvdGggZGVzYy5jb25maWd1cmFibGUgYW5kIG5hbWUuY29uZmlndXJhYmxlIGFyZSBib29sZWFucyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYSBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byB0cnVlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMSwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IGlzIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIHRydWUgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIGlzIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlIGFuZCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgdHJ1ZSwgJ25hbWUnIHByb3BlcnR5IGlzIGEgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDAxLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBwcm9wZXJ0eSBpcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIFVwZGF0ZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSB0byB0cnVlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgaXMgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYSBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDAxLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gdHJ1ZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIGlzIGZhbHNlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggb25seSBjb250YWlucyBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgdHJ1ZSwgJ25hbWUnIHByb3BlcnR5IGlzIGEgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UgYW5kICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIHByb3BlcnR5IGlzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggb25seSBjb250YWlucyBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIGRlc2MuY29uZmlndXJhYmxlIGFuZCBuYW1lLmNvbmZpZ3VyYWJsZSBhcmUgYm9vbGVhbiBuZWdhdGlvbiBvZiBlYWNoIG90aGVyICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBjb25maWd1cmFibGU6IHRydWUgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBuYW1lLnZhbHVlID0gdW5kZWZpbmVkIGFuZCBkZXNjLnZhbHVlID0gdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBuYW1lLnZhbHVlID0gbnVsbCBhbmQgZGVzYy52YWx1ZSA9IG51bGwgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiBudWxsLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiBudWxsLCAgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBudWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBuYW1lLnZhbHVlID0gTmFOIGFuZCBkZXNjLnZhbHVlID0gTmFOICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBOYU4sDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogTmFOLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBpZiAoIWlzTmFOKG9iai5mb28pKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICBvYmouZm9vID0gInZlcmlmeVZhbHVlIjsNCiAgICAgICAgaWYgKG9iai5mb28gPT09ICJ2ZXJpZnlWYWx1ZSIpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KHByb3ApICYmIHByb3AgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KCJmb28iKSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSA9ICswIGFuZCBuYW1lLnZhbHVlID0gLTAgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAtMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiArMCB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSA9IC0wIGFuZCBuYW1lLnZhbHVlID0gKzAgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiArMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAtMCB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMDAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogMTAwIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC04OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIG51bWJlcnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAyMCB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIFN0ZXAgNCBvZiBkZWZpbmVQcm9wZXJ0eSBjYWxscyB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZA0KICogb2YgTyB0byBkZWZpbmUgdGhlIHByb3BlcnR5LiBTdGVwIDdiIG9mIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGlmDQogKiBjdXJyZW50LltbRW51bWVyYWJsZV1dIGFuZCBkZXNjLltbRW51bWVyYWJsZV1dIGFyZSB0aGUgYm9vbGVhbiBuZWdhdGlvbnMNCiAqIG9mIGVhY2ggb3RoZXIuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIFtbRW51bWVyYWJsZV1dIGZyb20gdHJ1ZSB0byBmYWxzZSBvbiBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHkgd2l0aCBbW0VudW1lcmFibGVdXSBleHBsaWNpdGx5IHNldCB0byB0cnVlOw0KICAvLyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlLg0KICB2YXIgZDEgPSB7IHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCBzZXR0aW5nIGVudW1lcmFibGUgdG8gZmFsc2Ugc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyB2YWx1ZTogMTAxLCBlbnVtZXJhYmxlOiBmYWxzZSB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi52YWx1ZSA9PT0gMTAxICYmDQogICAgICAgICAgZDIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogImFiY2QiIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIHN0cmluZ3Mgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCIsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICJmZ2hqIiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBib29sZWFucyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogZmFsc2UgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IHRydWUgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBPYmplY3RzIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBvYmoxIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IG9iajEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgb2JqMiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogb2JqMiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBib3RoIGRlc2MuW1tTZXRdXSBhbmQgbmFtZS5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBzZXQ6IHNldEZ1bmMgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUuW1tTZXRdXSBpcyB1bmRlZmluZWQsIGRlc2MuW1tTZXRdXSByZWZlcnMgdG8gYW4gb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAicHJvcGVydHkiOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBib3RoIGRlc2MuW1tHZXRdXSBhbmQgbmFtZS5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5R2V0SGVscE1ldGhvZCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGdldDogZ2V0RnVuYyB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeUdldEhlbHBNZXRob2QiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC05OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUuW1tHZXRdXSBpcyB1bmRlZmluZWQsIGRlc2MuW1tHZXRdXSByZWZlcnMgdG8gYW4gb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllczsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAyIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMubGVuZ3RoID09PSAyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModW5kZWZpbmVkLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG51bGwsIHt9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModHJ1ZSwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcygiYWJjIiwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoMCwge30pOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnUHJvcGVydGllcycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHt9LCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBbXTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBBcnJheTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTWF0aCwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBNYXRoKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIE1hdGgpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBSZWdFeHA7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShKU09OLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IEpTT04pOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgSlNPTik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTENCiAgICAgICAgfTsNCiAgICAgICAgcHJvcHMuZGVzY3JpcHRpb24gPSBvYmoxOw0KICAgICAgICBwcm9wcy5tZXNzYWdlID0gb2JqMTsNCiAgICAgICAgcHJvcHMubmFtZSA9IG9iajE7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgRnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfTsgICAgICAgIA0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgnW29iamVjdCBBcmd1bWVudHNdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMpKTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuR2xvYmFsT2JqZWN0KCksICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gZm5HbG9iYWxPYmplY3QoKSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQoJCQkJY29uZmlndXJhYmxlOnRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiAnUHJvcGVydGllcycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoe30sIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBvYmoxID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBmYWxzZSk7DQogICAgICAgIHJldHVybiBvYmogPT09IG9iajE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCB3aG9zZSBwcmltaXRpdmUgdmFsdWUgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYW55IGludGVyZXN0aW5nIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMyI6IDEwMCB9Ow0KICAgICAgICB2YXIgb2JqMSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgLTEyKTsNCiAgICAgICAgcmV0dXJuIG9iaiA9PT0gb2JqMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0IHdob3NlIHByaW1pdGl2ZSB2YWx1ZSBpcyBhbnkgaW50ZXJlc3RpbmcgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBOdW1iZXIoLTEyKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBzdHJpbmcgd2hvc2UgdmFsdWUgaXMgYW55IGludGVyZXN0aW5nIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyMyI6IDEwMCB9Ow0KICAgICAgICB2YXIgb2JqMSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgIiIpOw0KICAgICAgICByZXR1cm4gb2JqID09PSBvYmoxOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBTdHJpbmcgb2JqZWN0IHdob3NlIHByaW1pdGl2ZSB2YWx1ZSBpcyBhbnkgaW50ZXJlc3Rpbmcgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMi05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIG93biBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsgICAgICANCiAgICAgICAgdmFyIHByb3BzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZToge30sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgd2hpY2ggaXMgbm90IGVudW1lcmFibGUgaXMgbm90IGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHt9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBub3QgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3BzID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIHdoaWNoIGlzIG5vdCBlbnVtZXJhYmxlIGlzIG5vdCBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgbm90IGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBubyBhZGRpdGlvbmFsIHByb3BlcnR5IGlzIGRlZmluZWQgaW4gJ08nIHdoZW4gJ1Byb3BlcnRpZXMnIGRvZXNuJ3QgY29udGFpbiBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wMSIpICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctMy04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBubyBhZGRpdGlvbmFsIHByb3BlcnR5IGlzIGRlZmluZWQgaW4gJ08nIHdoZW4gJ1Byb3BlcnRpZXMnIGRvZXNuJ3QgY29udGFpbiBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AxIikgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wMiIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IE51bWJlcigtOSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5wcm9wID0gew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgTWF0aCk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEzDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxNA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ucHJvcCA9IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTUNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIEpTT04pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDE1Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEVycm9yKCJ0ZXN0Iik7DQogICAgICAgIHZhciBvYmoxID0gew0KICAgICAgICAgICAgdmFsdWU6IDExDQogICAgICAgIH07DQogICAgICAgIHByb3BzLm1lc3NhZ2UgPSBvYmoxOw0KICAgICAgICBwcm9wcy5uYW1lID0gb2JqMTsNCiAgICAgICAgcHJvcHMuZGVzY3JpcHRpb24gPSBvYmoxOw0KDQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTYNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUHJvcGVydGllcycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxNw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBhcmcpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTc7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB0aGF0IG92ZXJyaWRlcyBlbnVtZXJhYmxlIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA5DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIGlzIGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogNw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSA3Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBbXTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7DQogICAgICAgICAgICB2YWx1ZTogOA0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogZGVzY09iaiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gODsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDkNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBCb29sZWFuKHRydWUpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IE51bWJlcigtMTIzKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBEYXRlKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIFJlZ0V4cCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3ludGF4RXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgYXJncyA9IGZ1bmMoMSwgdHJ1ZSwgImEiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBhcmdzDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzICB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogImZhbHNlIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzICBuZXcgQm9vbGVhbihmYWxzZSkgd2hpY2ggaXMgdHJlYXRlZCBhcyB0cnVlIHZhbHVlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBCb29sZWFuKGZhbHNlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAzMDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMzAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5Ig0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIGRlc2NPYmoudmFsdWUgPSAib3duRGF0YVByb3BlcnR5IjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIm93bkRhdGFQcm9wZXJ0eSINCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTExOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9OyANCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3ZhbHVlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYy52YWx1ZSA9ICJGdW5jdGlvbiI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRnVuY3Rpb24iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnIudmFsdWUgPSAiQXJyYXkiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGFycg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQXJyYXkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci52YWx1ZSA9ICJTdHJpbmciOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiU3RyaW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGRlc2NPYmoudmFsdWUgPSAiQm9vbGVhbiI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQm9vbGVhbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIk51bWJlciI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgudmFsdWUgPSAiTWF0aCI7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk1hdGgiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIkRhdGUiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkRhdGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgZGVzY09iai52YWx1ZSA9ICJSZWdFeHAiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlJlZ0V4cCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04udmFsdWUgPSAiSlNPTiI7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkpTT04iOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04udmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIkVycm9yIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJFcnJvciI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHMudmFsdWUgPSAiYXJndW1lbnRzIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IGFyZ3VtZW50cw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudHMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS52YWx1ZSA9ICJnbG9iYWwiOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJnbG9iYWwiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTEzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgZGVzY09iai53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsgdmFsdWU6IDEyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgb2JqLnByb3BlcnR5ID09PSAxMjA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYy53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnIud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBhcnINCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGRlc2NPYmoud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgZGVzY09iai53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogSlNPTg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHMud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IGFyZ3VtZW50cw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbnVsbCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgMCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgKzAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiArMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonICBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgLTAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAtMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTmFOICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcG9zaXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogMTIzDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbmVnYXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogLTEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogIiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6ICJhYmMiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogW10NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBTdHJpbmcoImFiYyIpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgQm9vbGVhbih0cnVlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBOdW1iZXIoMTIzKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogTWF0aA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBSZWdFeHAoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogSlNPTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRXJyb3Igb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFN5bnRheEVycm9yKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50IG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZnVuYygxLCB0cnVlLCAiYSIpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6ICJmYWxzZSINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gInByZXNlbnQiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldHRlcg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAicHJlc2VudCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0dGVyID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldHRlcg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0dGVyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBnZXR0ZXINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBnZXR0ZXINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTE5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBudWxsICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBudWxsDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOyA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IFtdOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJGdW5jdGlvbiI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRnVuY3Rpb24iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnIuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJBcnJheSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogYXJyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJBcnJheSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHIuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJzdHJpbmcgT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBzdHINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInN0cmluZyBPYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiQm9vbGVhbiI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiQm9vbGVhbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIk51bWJlciI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTnVtYmVyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGguZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiTWF0aCI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJNYXRoIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIkRhdGUiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkRhdGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIGRlc2NPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJSZWdFeHAiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlJlZ0V4cCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04uZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiSlNPTiI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogSlNPTg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJKU09OIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIkVycm9yIjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJFcnJvciI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFyZ3VtZW50cyI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogYXJndW1lbnRzDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImFyZ3VtZW50cyI7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJnbG9iYWwiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiZ2xvYmFsIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIG51bGwpICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IG51bGwNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIGJvb2xlYW4pICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIG51bWJlcikgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogMTIzDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMoIHZhbHVlIGlzIHN0cmluZykgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogInN0cmluZyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFwcGxpZWQgdG8gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IFtdDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ2dldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0dGVyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICJwcm9wIjogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGRlc2NPYmo6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQoNCiAgICAgICAgICAgIG9iai5kZXNjT2JqID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJkZXNjT2JqIik7DQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJkZXNjT2JqIikgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGRlc2NPYmo6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmouZGVzY09iaiA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImRlc2NPYmoiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YTEgPT09ICJvdmVycmlkZURhdGEiICYmIGRhdGEyID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGZ1biA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YTEgPT09ICJvdmVycmlkZURhdGEiICYmIGRhdGEyID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHNldEZ1bjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gc2V0RnVuOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBwcm90by5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhMiA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTEgPT09ICJkYXRhIjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhMiA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTEgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsgDQogICAgICAgIH07DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bjsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIiAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOyANCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW47DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLnByb3AgPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTIzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBkZXNjRnVuLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjRnVuKTsNCiAgICAgICAgb2JqLnByb3AgPSAiZnVuRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiZnVuRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIGFyci5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgYXJyKTsNCiAgICAgICAgb2JqLnByb3AgPSAiYXJyRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiYXJyRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkZXNjU3RyID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgZGVzY1N0ci5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgZGVzY1N0cik7DQogICAgICAgIG9iai5wcm9wID0gInN0ckRhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gInN0ckRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIGRlc2NPYmoucHJvcCA9IHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGRlc2NPYmopOw0KICAgICAgICBvYmoucHJvcCA9ICJib29sZWFuRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiYm9vbGVhbkRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBkZXNjT2JqLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjT2JqKTsNCiAgICAgICAgb2JqLnByb3AgPSAibnVtYmVyRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAibnVtYmVyRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5wcm9wID0gew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIE1hdGgpOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAibWF0aERhdGEiOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJtYXRoRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBkZXNjT2JqLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjT2JqKTsNCiAgICAgICAgb2JqLnByb3AgPSAiZGF0ZURhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gImRhdGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgZGVzY09iai5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgZGVzY09iaik7DQogICAgICAgIG9iai5wcm9wID0gInJlZ0V4cERhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gInJlZ0V4cERhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5wcm9wID0gew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIEpTT04pOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAiSlNPTkRhdGEiOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJKU09ORGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgZGVzY09iai5kZXNjcmlwdGlvbiA9IHsgdmFsdWU6IDExIH07DQogICAgICAgIGRlc2NPYmoubWVzc2FnZSA9IHsgdmFsdWU6IDExIH07DQogICAgICAgIGRlc2NPYmoubmFtZSA9IHsgdmFsdWU6IDExIH07DQoNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBkZXNjT2JqLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjT2JqKTsNCiAgICAgICAgb2JqLnByb3AgPSAiZXJyb3JEYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJlcnJvckRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH07DQogICAgICAgIHZhciBhcmcgPSBmdW4oKTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIGFyZy5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgYXJnKTsNCiAgICAgICAgb2JqLnByb3AgPSAiYXJnRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiYXJnRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuLA0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgbnVsbCAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogbnVsbA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgYm9vbGVhbiAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgbnVtYmVyICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiAxMDANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHByaW1pdGl2ZSB2YWx1ZXMgc3RyaW5nICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiAiYWJjZGVmIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFuIGludGVyZXN0aW5nIG9iamVjdCBvdGhlciB0aGFuIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IFtdDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gdmFsdWUgb2YgJ3NldCcgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcCA9ICJmdW5EYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJmdW5EYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdzZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiBib3RoICdnZXQnIHByb3BlcnR5IGFuZCAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHt9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgInByb3AiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09ODQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFyZzsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBhcmcuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBhcmcNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIGJvb2xlYW4gKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG51bGwgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRydWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGZhbHNlICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIDAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzICswICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICswDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIC0wICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIE5hTiAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIG51bWJlciAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogMTINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHBvc2l0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAxMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5lZ2F0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAtOQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAiIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogIkFCXG5cXGNkIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBbXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgU3RyaW5nKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgTnVtYmVyKC05KQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIHN0cmluZyAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogImFiYyINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgUmVnRXhwKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGFuIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgRXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnOyANCiAgICAgICAgDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGFyZw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogImZhbHNlIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGlzIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7fQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDoge30NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IFtdOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBOdW1iZXIoLTkpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7IGVudW1lcmFibGU6IHRydWUgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmc7DQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgYXJnLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBhcmcNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbnVsbCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBudWxsDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgKzAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogKzANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgLTAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogLTANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTmFOICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IE5hTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcG9zaXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IDEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbmVnYXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IC0xMjMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IFsxLCAyLCAzXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNS1iLTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgU3RyaW5nKCJhYmMiKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZXhpc3RpbmcgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgeyANCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGRhdGEgcHJvcGVydHksIHNldmVyYWwgYXR0cmlidXRlcyB2YWx1ZXMgb2YgUCBhbmQgcHJvcGVydGllcyBhcmUgZGlmZmVyZW50ICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMDAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAyMDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBib3RoIHByb3BlcnRpZXMuW1tHZXRdXSBhbmQgUC5bW0dldF1dIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jMiwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbR2V0XV0gaXMgcHJlc2VudCBhbmQgcHJvcGVydGllcy5bW0dldF1dIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbR2V0XV0gaXMgdW5kZWZpbmVkIGFuZCBwcm9wZXJ0aWVzLltbR2V0XV0gaXMgbm9ybWFsIHZhbHVlICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBib3RoIHByb3BlcnRpZXMuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMyKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYzINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jMiwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbU2V0XV0gaXMgcHJlc2VudCBhbmQgcHJvcGVydGllcy5bW1NldF1dIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICB2YXIgdmVyaWZ5R2V0ID0gZmFsc2U7DQogICAgICAgIHZlcmlmeUdldCA9IChvYmoucHJvcGVydHkgPT09IDEwKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICB2ZXJpZnlTZXQgPSAodHlwZW9mIGRlc2Muc2V0ID09PSAndW5kZWZpbmVkJyk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdmVyaWZ5R2V0ICYmIHZlcmlmeVNldCAmJiB2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLltbU2V0XV0gaXMgdW5kZWZpbmVkIGFuZCBwcm9wZXJ0aWVzLltbU2V0XV0gaXMgbm9ybWFsIHZhbHVlICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLmVudW1lcmFibGUgYW5kIHByb3BlcnRpZXMuZW51bWVyYWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBQLmNvbmZpZ3VyYWJsZSBpcyB0cnVlIGFuZCBwcm9wZXJ0aWVzLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBzZXZlcmFsIGF0dHJpYnV0ZXMgdmFsdWVzIG9mIFAgYW5kIHByb3BlcnRpZXMgYXJlIGRpZmZlcmVudCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMSgpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYzIodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jMiwgc2V0X2Z1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gYWxsIG93biBwcm9wZXJ0aWVzIChkYXRhIHByb3BlcnR5IGFuZCBhY2Nlc3NvciBwcm9wZXJ0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvcGVydGllcyA9IHsNCiAgICAgICAgICAgIGZvbzE6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZm9vMjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcGVydGllcyk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28xIiwgMjAwLCB0cnVlLCB0cnVlLCB0cnVlKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMiIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gZWFjaCBwcm9wZXJ0aWVzIGFyZSBpbiBsaXN0IG9yZGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsgfQ0KDQogICAgICAgIHZhciBwcm9wZXJ0aWVzID0gew0KICAgICAgICAgICAgYTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgYzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BlcnRpZXMpOw0KICAgICAgICByZXR1cm4gKG9ialsiYSJdID09PSAxMDAgJiYgb2JqWyJiIl0gPT09IDIwICYmIG9ialsiYyJdID09PSAyMDApOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCB0ZXN0IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nIGlzIG93biBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiAxIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyciwgImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGVzYy52YWx1ZSA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGRlc2Mud3JpdGFibGUgJiYgIWRlc2MuZW51bWVyYWJsZSAmJiAhZGVzYy5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCB0ZXN0IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogMSB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyciwgImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLnZhbHVlID09PSAzICYmDQogICAgICAgICAgICAgICAgZGVzYy53cml0YWJsZSAmJiAhZGVzYy5lbnVtZXJhYmxlICYmICFkZXNjLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50ICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsgbGVuZ3RoOiB7fSB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSAoYXJyLmxlbmd0aCA9PT0gMCk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IChhcnIubGVuZ3RoID09PSAyKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnIubGVuZ3RoOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgc2FtZSB3aXRoIGNvcnJlc3BvbmRpbmcgYXR0cmlidXRlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIHZlcmlmeVZhbHVlID0gKGFyci5sZW5ndGggPT09IDApOw0KDQogICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoYXJyLmxlbmd0aCA9PT0gMik7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChwID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICBkZWxldGUgYXJyLmxlbmd0aDsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJyLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgdmVyaWZ5V3JpdGFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5Q29uZmlndXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsgY29uZmlndXJhYmxlOiB0cnVlIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IGVudW1lcmFibGU6IHRydWUgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTExOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmcm9tIGZhbHNlIHRvIHRydWUgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7IA0KICAgICAgICAgICAgICAgIGxlbmd0aDogeyB3cml0YWJsZTogdHJ1ZSB9IA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZ1biwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhmdW4sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGZ1biwgInByb3AiLCAxMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCwgdGVzdCB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gdHJ1ZSB0byBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IHdyaXRhYmxlOiBmYWxzZSB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgImxlbmd0aCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiBzZXR0aW5nIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogdW5kZWZpbmVkIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3Qgc2V0dGluZyB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyB0byBudWxsIGFjdHVhbGwgaXMgc2V0IHRvIDAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogbnVsbCB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBib29sZWFuIHdpdGggdmFsdWUgZmFsc2UgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogZmFsc2UgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBib29sZWFuIHdpdGggdmFsdWUgdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsgdmFsdWU6IHRydWUgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDE7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiAwIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAwOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogKzAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogLTAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgcG9zaXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogMTIgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDEyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbmVnYXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtOQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3AiLCAxMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgK0luZmluaXR5ICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiArSW5maW5pdHkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLUluZmluaXR5ICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtSW5maW5pdHkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgTmFOICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIjIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogIi00MiINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiMjAwLjU5Ig0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyArSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICIrSW5maW5pdHkiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyAtSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICItSW5maW5pdHkiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIyRTMiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMkUzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTEzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBoZXggbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiMHgwMEIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMHgwMEI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoc3RyLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChzdHIsICJwcm9wIiwgMTEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBsZWFkaW5nIHplcm8gbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiMDAwMi4wIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYSBzdHJpbmcgd2hpY2ggZG9lc24ndCBjb252ZXJ0IHRvIGEgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAidHdvIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgICAgICB9LA0KDQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMiAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMyAmJiAhdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB0aGF0IGJvdGggdG9TdHJpbmcgYW5kIHZhbHVlT2Ygd291bGRuJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdXNpbmcgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWMgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMyAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmICF2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsICB0ZXN0IFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgcG9zaXRpdmUgbm9uLWludGVnZXIgdmFsdWVzICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMjMuNQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsICB0ZXN0IFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbmVnYXRpdmUgbm9uLWludGVnZXIgdmFsdWVzICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtNDI5NDk2NzI5NC41DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiAtIDIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDQyOTQ5NjcyOTQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiAtIDEgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDQyOTQ5NjcyOTU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNDI5NDk2NzI5Ng0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICsgMSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTcNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgd2hpY2ggaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBpbnRvICdPJyB3aXRob3V0IGRlbGV0aW5nIGFueSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkICgxNS40LjUuMSBzdGVwIDMuZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA1DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSA1ICYmIGFyclswXSA9PT0gMCAmJiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzJdID09PSAyOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgd2hpY2ggZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBpbnRvICdPJyB3aXRob3V0IGRlbGV0aW5nIGFueSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkICgxNS40LjUuMSBzdGVwIDMuZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMyAmJiBhcnJbMF0gPT09IDAgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclsyXSA9PT0gMjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgd2hpY2ggaXMgbGVzcyB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBpbnRvICdPJyB3aXRoIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCAoMTUuNC41LjEgc3RlcCAzLmYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAxICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMF0gPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGdyZWF0ZXIgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIG5vdCB3cml0YWJsZSAoMTUuNC41LjEgc3RlcCAzLmYuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGVxdWFscyB0byB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciB3b3VsZG4ndCBiZSB0aHJvd24gd2hlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIG5vdCB3cml0YWJsZSAoMTUuNC41LjEgc3RlcCAzLmYuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIubGVuZ3RoID09PSAyICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgIHRlc3QgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSBhdCBsYXN0IGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQgKDE1LjQuNS4xIHN0ZXAgMy5oKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5sZW5ndGggPSAxMDsgLy90cnkgdG8gb3ZlcndyaXRlIGxlbmd0aCB2YWx1ZSBvZiBhcnINCiAgICAgICAgcmV0dXJuICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnIubGVuZ3RoID09PSAxMCAmJiBhcnJbMF0gPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgIHRlc3QgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSBhdCBsYXN0IGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDMuaCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmxlbmd0aCA9IDEwOyAvL3RyeSB0byBvdmVyd3JpdGUgbGVuZ3RoIHZhbHVlIG9mIGFycg0KICAgICAgICByZXR1cm4gIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyci5sZW5ndGggPT09IDEwICYmIGFyclswXSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBhdCBsYXN0IGFmdGVyIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpZiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmkuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIubGVuZ3RoID0gMTA7IC8vdHJ5IHRvIG92ZXJ3cml0ZSBsZW5ndGggdmFsdWUgb2YgYXJyDQogICAgICAgIHJldHVybiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyLmxlbmd0aCA9PT0gMSAmJiBhcnJbMF0gPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIHNldCBhcyB0cnVlIGJlZm9yZSBkZWxldGluZyBwcm9wZXJ0aWVzIHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgKDE1LjQuNS4xIHN0ZXAgMy5pLmlpaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIHZhciByZXN1bHQgPSAwOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoYXJyLmxlbmd0aCA9PT0gMik7DQogICAgICAgICAgICBhcnIubGVuZ3RoID0gMTA7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIHJlc3VsdCAmJiBhcnIubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGRlY3JlYXNlZCBieSAxICgxNS40LjUuMSBzdGVwIDMubC5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIubGVuZ3RoID09PSAyICYmDQogICAgICAgICAgICAgICAgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMiIpICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhcnIubGVuZ3RoID09PSAyICYmDQogICAgICAgICAgICAgICAgYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuJ3Qgc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAyOyAvL3dlIGFyZSBub3QgYWxsb3dlZCB0byBzZXQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICIxIiB0byBmYWxzZSBoZXJlLCBzaW5jZSBBcnJheS5wcm90b3R5cGUgaXMgYSBnbG9iYWwgb2JqZWN0LCBhbmQgbm9uLWNvbmZpZ3VyYmFsZSBwcm9wZXJ0eSBjYW4ndCByZXZlcnQgdG8gY29uZmlndXJhYmxlDQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMSAmJiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzBdID09PSAwICYmIEFycmF5LnByb3RvdHlwZVsxXSA9PT0gMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAyOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGRhdGEgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJiBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJg0KICAgICAgICAgICAgICAgIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDEgJiYgQXJyYXkucHJvdG90eXBlWzFdID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTWF0aCwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBNYXRoLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgTWF0aC5wcm9wID09PSAxMTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTWF0aCwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgTWF0aC5wcm9wID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIGNhbid0IHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIC8vd2UgYXJlIG5vdCBhbGxvd2VkIHRvIHNldCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgcHJvcGVydHkgIjEiIHRvIGZhbHNlIGhlcmUsIHNpbmNlIEFycmF5LnByb3RvdHlwZSBpcyBhIGdsb2JhbCBvYmplY3QsIGFuZCBub24tY29uZmlndXJiYWxlIHByb3BlcnR5IGNhbid0IHJldmVydCB0byBjb25maWd1cmFibGUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDEgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMCAmJiBBcnJheS5wcm90b3R5cGVbMV0gPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIHRoYXQgb3ZlcnJpZGVzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMzsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyci5sZW5ndGggPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMF0gPT09IDAgJiYgYXJyWzFdID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIHRoYXQgb3ZlcnJpZGVzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyci5sZW5ndGggPT09IDIgJiYgYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYNCiAgICAgICAgICAgICAgICBhcnJbMF0gPT09IDAgJiYgYXJyWzFdID09PSAxICYmIEFycmF5LnByb3RvdHlwZVsxXSA9PT0gMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgY29uZmlndXJhYmxlIGxhcmdlIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBjYW4gYmUgZGVsZXRlZCAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0aGUgbGFzdCBub24tY29uZmlndXJhYmxlIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBwbHVzIDEgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpaS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIChhcnIubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBhdCBsYXN0IHdoZW4gdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZmFsc2UgYW5kICdPJyBjb250YWlucyBub24tY29uZmlndXJhYmxlIGxhcmdlIGluZGV4IG5hbWVkIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDMubC5paWkuMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBhcnIubGVuZ3RoID0gMTA7IC8vdHJ5IHRvIG92ZXJ3cml0ZSBsZW5ndGggdmFsdWUgb2YgYXJyDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJg0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPT09IDIgJiYgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byBmYWxzZSBhdCBsYXN0IHdoZW4gdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZmFsc2UgYW5kICdPJyBkb2Vzbid0IGNvbnRhaW4gbm9uLWNvbmZpZ3VyYWJsZSBsYXJnZSBpbmRleCBuYW1lZCBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCAzLm0pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDEwOyAvL3RyeSB0byBvdmVyd3JpdGUgbGVuZ3RoIHZhbHVlIG9mIGFycg0KICAgICAgICAgICAgcmV0dXJuICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnIubGVuZ3RoID09PSAwICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBhdmFpbGFibGUgU3RyaW5nIHZhbHVlcyB0aGF0IGNvbnZlcnQgdG8gbnVtYmVycyAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyWzBdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMiAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjQyOTQ5NjcyOTQiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk0IikgJiYgYXJyLmxlbmd0aCA9PT0gNDI5NDk2NzI5NSAmJiBhcnJbNDI5NDk2NzI5NF0gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMSAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjQyOTQ5NjcyOTUiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk1IikgJiYgYXJyLmxlbmd0aCA9PT0gMCAmJiBhcnJbNDI5NDk2NzI5NV0gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiNDI5NDk2NzI5NiI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTYiKSAmJiBhcnIubGVuZ3RoID09PSAwICYmIGFycls0Mjk0OTY3Mjk2XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyICsgMSAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjQyOTQ5NjcyOTciOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCI0Mjk0OTY3Mjk3IikgJiYgYXJyLmxlbmd0aCA9PT0gMCAmJiBhcnJbNDI5NDk2NzI5N10gPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgaXMgZmFsc2UsIHZhbHVlIG9mICdQJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbidPJyAgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyWzBdID09PSAxICYmIGFyclsxXSA9PT0gImFiYyIgJiYgYXJyWzJdID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSxbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlLCB2YWx1ZSBvZiAnUCcgaXMgZXF1YWwgdG8gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjMiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIGFyclsxXSA9PT0gMiAmJiBhcnJbMl0gPT09IDMgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMyIpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSxbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlLCB2YWx1ZSBvZiAnUCcgaXMgYmlnZ2VyIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgICgxNS40LjUuMSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICI0Ijogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJbMF0gPT09IDEgJiYgYXJyWzFdID09PSAyICYmDQogICAgICAgICAgICAgICAgYXJyWzJdID09PSAzICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjMiKSAmJiAhYXJyLmhhc093blByb3BlcnR5KCI0Iik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgMCwgew0KICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIHR5cGVvZiBhcnJbMF0gPT09ICJ1bmRlZmluZWQiICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMTIgJiYgQXJyYXkucHJvdG90eXBlWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJbMF0gPT09IDEyICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyWzBdID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICdQJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCIwIikgJiYgYXJyWzBdID09PSAxMiAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMTIgJiYgQXJyYXkucHJvdG90eXBlWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyWzBdID09PSAxMiAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gJ08nIGlzIG5vdCBleHRlbnNpYmxlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoYXJyKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgKGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpID09PSBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCAnUCcgaXMgZGVmaW5lZCBhcyBkYXRhIHByb3BlcnR5IHdoZW4gJ2Rlc2MnIGlzIGdlbmVyaWMgZGVzY3JpcHRvciAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1ZhbHVlXV0gb2YgJ1AnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIFtbVmFsdWVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCIwIikgJiYgdHlwZW9mIChhcnJbMF0pID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1dyaXRhYmxlXV0gb2YgJ1AnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgW1tXcml0YWJsZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgaXNPd25Qcm9wZXJ0eSA9IGZhbHNlOw0KICAgICAgICB2YXIgY2FuV3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBpc093blByb3BlcnR5ID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgYXJyWzBdID0gMTI7DQoNCiAgICAgICAgY2FuV3JpdGFibGUgPSAoYXJyWzBdID09PSAxMik7DQoNCiAgICAgICAgcmV0dXJuIGlzT3duUHJvcGVydHkgJiYgIWNhbldyaXRhYmxlICYmIGFyclswXSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnUCcgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGlzT3duUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgdmFyIGNhbkVudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBpc093blByb3BlcnR5ID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIGZvciAodmFyIGkgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoaSA9PT0gIjAiKSB7DQogICAgICAgICAgICAgICAgY2FuRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGlzT3duUHJvcGVydHkgJiYgIWNhbkVudW1lcmFibGUgJiYgYXJyWzBdID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTE5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIFtbQ29uZmlndXJhYmxlXV0gaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gZmFsc2U7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgYmVmb3JlRGVsZXRlZCA9IGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICBkZWxldGUgYXJyWzBdOw0KICAgICAgICBhZnRlckRlbGV0ZWQgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgYWZ0ZXJEZWxldGVkICYmIGFyclswXSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYSBKU09OIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gSlNPTi5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIEpTT04ucHJvcCA9PT0gMTE7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhKU09OLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBKU09OLnByb3AgPT09IDEyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFsxXTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEwMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0dldF1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBbW0dldF1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiB0eXBlb2YgKGFyclswXSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1NldF1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBbW1NldF1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgaSBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChpID09PSAiMCIgJiYgYXJyLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnIsICIwIik7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnJbMF07DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYNCiAgICAgICAgICAgIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnUCcgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBbW0VudW1lcmFibGVdXSBpcyBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgaSBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChpID09PSAiMCIgJiYgYXJyLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIFtbQ29uZmlndXJhYmxlXV0gaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gZmFsc2U7DQogICAgICAgIGFyci52ZXJpZnlTZXR0ZXIgPSAxMDA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBhcnIudmVyaWZ5U2V0dGVyID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFyci52ZXJpZnlTZXR0ZXI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGJlZm9yZURlbGV0ZWQgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgZGVsZXRlIGFyclswXTsNCiAgICAgICAgYWZ0ZXJEZWxldGVkID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgYXJyWzBdID0gMTAxOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkICYmIGFmdGVyRGVsZXRlZCAmJiBhcnJbMF0gPT09IDEwMSAmJiBhcnIudmVyaWZ5U2V0dGVyID09PSAxMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxNDsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIGdldEZ1biwgc2V0RnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIGFic2VudCAobmFtZSBpcyBkYXRhIHByb3BlcnR5KSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnJbMF0gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHt9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgMTAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIGFic2VudCAobmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjoge30NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgdGhlIHZhbHVlIG9mIGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgY29ycmVzcG9uZGluZyBmaWVsZCBpbiAnUCcoZGVzYyBpcyBkYXRhIHByb3BlcnR5KSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnJbMF0gPSAxMDA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgdGhlIHZhbHVlIG9mIGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgY29ycmVzcG9uZGluZyBmaWVsZCBpbiAnUCcoZGVzYyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiMTAwIjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICANCiAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7DQogICAgICAgICAgICAiMCI6IGRlc2NPYmoNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIGRlc2NPYmopOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgcHJvcGVydGllcyk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIGJvdGggdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdW5kZWZpbmVkICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIGJvdGggdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgbnVsbCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBudWxsDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgbnVsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIGJvdGggdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgTmFOICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IE5hTg0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBOYU4sIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzICswLCBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIC0wICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIC0wLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIC0wLCBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzICswICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsICswLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBudW1iZXJzIHdpdGggc2FtZSB2YXVsZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDENCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBzdHJpbmdzIHdoaWNoIGhhdmUgc2FtZSBsZW5ndGggYW5kIHNhbWUgY2hhcmFjdGVycyBpbiBjb3JyZXNwb25kaW5nIHBvc2l0aW9ucyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImFiY2QiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIHNhbWUgdmFsdWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoxDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0aWVzID0gew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IG9iajENCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgcHJvcGVydGllcyk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW1dyaXRhYmxlXV0gdHJ1ZSwgYW5kIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW1dyaXRhYmxlXV0gdHJ1ZSwgYW5kIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGZhbHNlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCAgW1tFbnVtZXJhYmxlXV0gdHJ1ZSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCAgW1tFbnVtZXJhYmxlXV0gdHJ1ZSwgdGhlIFtbRW51bWVyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW0NvbmZpZ3VyYWJsZV1dIHRydWUsIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgd2l0aCBbW0NvbmZpZ3VyYWJsZV1dIHRydWUsIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSAgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIDMsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgYW5kIFtbRW51bWVyYWJsZV1dIG9mICdkZXNjJyBpcyBwcmVzZW50IGFuZCBpdHMgdmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgJ1AnIGlzIGFjY2Vzc29yIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgaXMgZmFsc2UgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgICdQJyBpcyBkYXRhIHByb3BlcnR5LCBhbmQnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgaXMgZmFsc2UgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICAnUCcgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIHRydWUsIHRlc3QgJ1AnIGlzIGNvbnZlcnRlZCBmcm9tIGRhdGEgcHJvcGVydHkgdG8gYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyclsxXSA9IDM7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIHRydWUsIHRlc3QgJ1AnIGlzIGNvbnZlcnRlZCBmcm9tIGFjY2Vzc29yIHByb3BlcnR5IHRvIGRhdGEgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCg0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIDEyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSBhbmQgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgdHJ1ZS4gICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggcHJvcGVydHksICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSwgYW5kIHRoZSB0eXBlIG9mIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSB0eXBlIG9mIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArMCwgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyAtMCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiArMA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAtMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsICswLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtMCwgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyArMCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAtMA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiArMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YXVsZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDM2DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImVmZ2giDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTIzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmbkdsb2JhbE9iamVjdCgpLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhmbkdsb2JhbE9iamVjdCgpLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChmbkdsb2JhbE9iamVjdCgpLCAicHJvcCIsIDEyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSAgZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0sIFtbV3JpdGFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIG9iajEgPSB7IHZhbHVlOiAxMiB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsgdmFsdWU6IDM2IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogb2JqMQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvYmoyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCBvYmoxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gb2JqZWN0IGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIHVuZGVmaW5lZCAgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgd2l0aCAgW1tDb25maWd1cmFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBwcmVzZW50LCBhbmQgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM2Ow0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCBnZXRfZnVuLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCAgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIG9iamVjdCBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIGdldF9mdW4sIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgJydPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0gZmFsc2UsICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IFR5cGVFcnJvciBpcyBub3QgdGhyb3duIGlmIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBwcmVzZW50LCBhbmQgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB1bmRlZmluZWQgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDM2DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDM2LCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIHRydWUsIHRydWUsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBmcm9tIHVuZGVmaW5lZCB0byBub3JtYWwgdmFsdWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbdW5kZWZpbmVkXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuICdPJyBpcyBub3QgZXh0ZW5zaWJsZSAoOC4xMi45IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTAwXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMDAsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMiwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzEyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgMTIsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMzYsDQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAzNiwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2l0aCBkaWZmZXJlbnQgZ2V0dGVyIGZ1bmN0aW9uICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM2Ow0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBnZXRfZnVuLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgZnJvbSB1bmRlZmluZWQgdG8gZnVuY3Rpb24gKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gMzY7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBnZXRfZnVuLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2l0aCBkaWZmZXJlbnQgZ2V0dGVyIGZ1bmN0aW9uICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcyB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgZnJvbSB1bmRlZmluZWQgdG8gZnVuY3Rpb24gICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgJ1AnIGlzIGRlZmluZWQgYXMgZGF0YSBwcm9wZXJ0eSB3aGVuICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3IgKDguMTIuOSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgdHlwZW9mIGRlc2MudmFsdWUgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJ3cml0YWJsZSIpICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJjb25maWd1cmFibGUiKSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZW51bWVyYWJsZSIpICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgIWRlc2MuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuLA0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0X2Z1biwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgbm90IGNoYW5nZWQgaWYgVG9VaW50MzIoJ1AnKSBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGFyci5sZW5ndGggPSAzOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGxlbmd0aDogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjYNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAzICYmIGFyclsxXSA9PT0gMjY7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGFzIFRvVWludDMyKCdQJykgKyAxIGlmIFRvVWludDMyKCdQJykgZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nICgxNS40LjUuMSBzdGVwIDQuZS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBhcnIubGVuZ3RoID0gMzsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBsZW5ndGg6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiBmYWxzZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjMiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDI2DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gNCAmJiBhcnJbM10gPT09IDI2Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGFzIFRvVWludDMyKCdQJykgKyAxIGlmIFRvVWludDMyKCdQJykgaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nICgxNS40LjUuMSBzdGVwIDQuZS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICI1Ijogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyNg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDYgJiYgYXJyWzVdID09PSAyNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBwcm9wZXJ0eSB0aGF0IHdvbid0IGV4aXN0IG9uICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgMTIsIHRydWUsIHRydWUsIHRydWUpICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBwcm9wZXJ0eSwgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuLA0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIGdldF9mdW4sIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpICYmDQogICAgICAgICAgICBhcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnZlcmlmeVNldEZ1biA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCBnZXRfZnVuLCBzZXRfZnVuLCAidmVyaWZ5U2V0RnVuIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyci5wcm9wZXJ0eSA9IDEyOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tWYWx1ZV1dIG9mICdQJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiB0eXBlb2YgZGVzYy52YWx1ZSA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoIndyaXRhYmxlIikgJiYgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiY29uZmlndXJhYmxlIikgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJlbnVtZXJhYmxlIikgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIHVud3JpdGFibGUgYW5kIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDM2DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0nTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM3Ow0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci52ZXJpZnlTZXRGdW4gPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW4sDQogICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzY7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgZ2V0X2Z1biwgc2V0X2Z1biwgInZlcmlmeVNldEZ1biIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZXZlciBkZWZpbmVkIGluIGJvdGggW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycgYW5kICdPJywgYW5kIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIHJlZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBkZWxldGUgYXJnWzBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMTAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gcHJvcGVydHkgd2hpY2ggaXMgZXZlciBkZWZpbmVkIGluIGJvdGggW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycgYW5kICdPJywgYW5kIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgZGVsZXRlIGFyZ1swXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tXcml0YWJsZV1dIG9mICdQJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAyOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9ICgwLCAxLCAyKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmcsICIwIik7DQogICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gZ2V0X2Z1bmMyICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAyMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hvc2Ugd3JpdGFibGUgYW5kIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGVzIGFyZSBmYWxzZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAgDQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7IA0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0gKDAsIDEsIDIpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJnLCAiMCIpOw0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGVzYy5nZXQgPT09IGdldF9mdW5jMSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZywgIjAiKTsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRlc2MuZ2V0ID09PSBnZXRfZnVuYyAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIHdoaWNoIGlzIGFsc28gZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tFbnVtZXJhYmxlXV0gb2YgJ1AnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogeyB2YWx1ZTogMTAwMX0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkocHJvcCkpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGRlbGV0ZSBhcmdbMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBkZWxldGUgYXJnWzBdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMiwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jMiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMjAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3Qgd3JpdGFibGUgYW5kIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBkYXRhIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jMSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTI5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyZy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgZ2V0X2Z1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tDb25maWd1cmFibGVdXSBvZiAnUCcgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsgdmFsdWU6IDEwMDEgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDE7ICAgICAgICANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICJnZXRGdW5jdGlvblN0cmluZyI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcudGVzdEdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuLCBzZXRGdW4sICJ0ZXN0R2V0RnVuY3Rpb24iLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgYXJnLnRlc3RHZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnRlc3RHZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuLCBzZXRGdW4sICJ0ZXN0R2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgMTAwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDIsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSAoMSwgMiwgMykpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyZy52ZXJpZnlTZXRGdW4gPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW4sDQogICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvdmVyaWRlR2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuLCBzZXRGdW4sICJ2ZXJpZnlTZXRGdW4iLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFyZy5nZW5lcmljUHJvcGVydHlTdHJpbmcxID0gdmFsdWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLmdlbmVyaWNQcm9wZXJ0eVN0cmluZyA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW4sICJnZW5lcmljUHJvcGVydHlTdHJpbmciLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1biwgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICduYW1lJyBpcyBvd24gcHJvcGVydHkgb2YgW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgJ25hbWUnIGlzIGRlbGV0ZWQgaWYgJ25hbWUnIGlzIGNvbmZpZ3VyYWJsZSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJnWzBdID09PSAxMiAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yIHdpdGhvdXQgYW55IGF0dHJpYnV0ZSwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnb2JqJyB3aXRoIGFsbCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsgcHJvcDoge30gfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiB0eXBlb2YgZGVzYy52YWx1ZSA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoIndyaXRhYmxlIikgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoImNvbmZpZ3VyYWJsZSIpICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZW51bWVyYWJsZSIpICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgICFkZXNjLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tHZXRdXSBvZiAnUCcgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCB1bmRlZmluZWQsIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tTZXRdXSBvZiAnUCcgaXMgc2V0IGFzIHVuZGVmaW5lZCB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7IA0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tFbnVtZXJhYmxlXV0gb2YgJ1AnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW4sDQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW4sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW4sIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tDb25maWd1cmFibGVdXSBvZiAnUCcgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW4sIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgZmFsc2UpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW4sIHNldEZ1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM4LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBleGlzdHMgaW4gJ08nIGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0ZXN0ICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgJ2Rlc2MnIGlzIGdlbmVyaWMgZGVzY3JpcHRvciB3aXRob3V0IGFueSBhdHRyaWJ1dGUgKDguMTIuOSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsgZm9vOiB7fSB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgZXhpc3RzIGluICdPJywgdGVzdCAnUCcgbWFrZXMgbm8gY2hhbmdlIGlmICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3Igd2l0aG91dCBhbnkgYXR0cmlidXRlICg4LjEyLjkgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmouZm9vID0gMTAwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsgZm9vOiB7fSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBkZXNjcmlwdG9yIGFuZCBldmVyeSBmaWVsZHMgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHdpdGggJ1AnICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciBhbmQgZXZlcnkgZmllbGRzIGluICdkZXNjJyBpcyB0aGUgc2FtZSB3aXRoICdQJyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgZGVzYyA9IHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB0eXBlIG9mIGRlc2MudmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdHlwZSBvZiBQLnZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIxMDIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgIjEwMiIsIHRydWUsIHRydWUsIHRydWUpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IHVuZGVmaW5lZCB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIG51bGwgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiBudWxsIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgbnVsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIE5hTiAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IE5hTiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2ZXJpZnlWYWx1ZSA9IG9iai5mb28gIT09IG9iai5mb28gJiYgaXNOYU4ob2JqLmZvbyk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5Q29uZmlndXJhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeVZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGlzICswIGFuZCBQLnZhbHVlIGlzIC0wICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogLTAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIGRlc2MpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGlzIC0wIGFuZCBQLnZhbHVlIGlzICswICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogKzAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIGRlc2MpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyANCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gbnVtYmVycyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogMTAxIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDENCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdoaWNoIGhhdmUgc2FtZSBsZW5ndGggYW5kIHNhbWUgY2hhcmFjdGVycyBpbiBjb3JyZXNwb25kaW5nIHBvc2l0aW9ucyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6ICJhYmNkIiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiY2QiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAiYWJjZCI7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJmZ2hqIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJmZ2hqIiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIGJvb2xlYW4gdmFsdWVzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiB0cnVlIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gYm9vbGVhbiB2YWx1ZXMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSB0cnVlOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGZhbHNlLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIE9qYmVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgT2JqZWN0ICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogb2JqMSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gT2piZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCiAgICAgICAgb2JqLmZvbyA9IG9iajE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIHZhciBvYmoyID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2Mud3JpdGFibGUgYW5kIFAud3JpdGFibGUgYXJlIGJvb2xlYW4gdmFsdWVzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHdyaXRhYmxlOiBmYWxzZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLndyaXRhYmxlIGFuZCBQLndyaXRhYmxlIGFyZSB0d28gYm9vbGVhbiB2YWx1ZXMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB3cml0YWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuW1tHZXRdXSBhbmQgUC5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X0Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfRnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIHZlcmlmeVZhbHVlID0gKG9iai5mb28gPT09IDEwKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCiAgICAgICAgcmV0dXJuIHZlcmlmeUNvbmZpZ3VyYWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlWYWx1ZSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYy5nZXQgPT09IGdldF9GdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLltbR2V0XV0gYW5kIFAuW1tHZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9GdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9GdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICB2ZXJpZnlWYWx1ZSA9IChvYmouZm9vID09PSAyMCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgcmV0dXJuICF2ZXJpZnlDb25maWd1cmFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5VmFsdWUgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MuZ2V0ID09PSBnZXRfRnVuYzI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLltbU2V0XV0gYW5kIFAuW1tTZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMSgpIHt9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuZW51bWVyYWJsZSBhbmQgUC5lbnVtZXJhYmxlIGFyZSBib29sZWFuIHZhbHVlcyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLmVudW1lcmFibGUgYW5kIFAuZW51bWVyYWJsZSBhcmUgdHdvIGJvb2xlYW4gdmFsdWVzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBib3RoIGRlc2MuY29uZmlndXJhYmxlIGFuZCBQLmNvbmZpZ3VyYWJsZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBkZXNjLmNvbmZpZ3VyYWJsZSBhbmQgUC5jb25maWd1cmFibGUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlIGFuZCBkZXNjLmNvbmZpZ3VyYWJsZSBpcyB0cnVlICg4LjEyLjkgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuZW51bWVyYWJsZSBhbmQgZGVzYy5lbnVtZXJhYmxlIGhhcyBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLmVudW1lcmFibGUgYW5kIGRlc2MuZW51bWVyYWJsZSBoYXMgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBkZXNjIGlzIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9GdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gKG9iai5mb28gPT09IDEwKTsNCg0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIHZlcmlmeUNvbmZpZ3VyYWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJg0KICAgICAgICAgICAgICAgIHZlcmlmeVZhbHVlICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIiAmJiBkZXNjLmdldCA9PT0gZ2V0X0Z1bmM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBkZXNjIGlzIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgUC5jb25maWd1cmFibGUgaXMgdHJ1ZSwgZGVzYyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfRnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSAob2JqLmZvbyA9PT0gMjApOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgcmV0dXJuICF2ZXJpZnlDb25maWd1cmFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5VmFsdWUgJiYNCiAgICAgICAgICAgIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYy5nZXQgPT09IGdldF9GdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICBQLmNvbmZpZ3VyYWJsZSBpcyB0cnVlLCAnZGVzYycgaW4gJ1Byb3BlcnRpZXMnIGlzIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDkuYy5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAgUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFibGUgaXMgZmFsc2UsIGRlc2MgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgIGRlc2Mud3JpdGFibGUgaXMgdHJ1ZSAoOC4xMi45IHN0ZXAgMTAuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhYmxlIGlzIGZhbHNlLCBkZXNjIGlzIGRhdGEgcHJvcGVydHkgYW5kICBkZXNjLnZhbHVlIGlzIG5vdCBlcXVhbCB0byBQLnZhbHVlICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIGlmIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBQLnZhbHVlIGlzIHVuZGVmaW5lZCBhbmQgcHJvcGVydGllcy52YWx1ZSBpcyB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIGlmIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBQLnZhbHVlIGlzIG51bGwgYW5kIHByb3BlcnRpZXMudmFsdWUgaXMgbnVsbCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IG51bGwsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBudWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIGlmIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBQLnZhbHVlIGlzIE5hTiBhbmQgcHJvcGVydGllcy52YWx1ZSBpcyBOYU4gKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBOYU4sDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IE5hTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSBvYmouZm9vICE9PSBvYmouZm9vICYmIGlzTmFOKG9iai5mb28pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGlzICswIGFuZCBQLnZhbHVlIGlzIC0wICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogLTAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGlzICswIGFuZCBQLnZhbHVlIGlzIC0wICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogKzAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMjANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJhYmNkIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAiYWJjZCIsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICJkZWZnIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICJhYmNkIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBib29sZWFucyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTgzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg0LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC53cml0YWxiZSBpcyBmYWxzZSwgcHJvcGVydGllcy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIE9iamVjdHMgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IHdoaWNoIGhhcyBiZWVuIHVwZGF0ZWQgYmVmb3JlIHVzZSBpdCB0byB1cGRhdGUgdGhlIG9iamVjdCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgb2JqMiA9IG9iajE7DQogICAgICAgIG9iajIueSA9ICJoZWxsbyI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBPYmplY3RzIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogb2JqMSwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gb2JqZWN0cyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IG9iajEsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmoyID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgYm90aCBwcm9wZXJ0aWVzLltbU2V0XV0gYW5kIFAuW1tTZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IGFuZCB0aGUgb2JqZWN0IGhhcyBiZWVuIHVwZGF0ZWQgYWZ0ZXIgZGVmaW5lZCg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wMSA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIGJvdGggcHJvcGVydGllcy5bW1NldF1dIGFuZCBQLltbU2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBib3RoIHByb3BlcnRpZXMuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMSh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYzEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMigpIHt9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHNldF9mdW5jMSwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLltbU2V0XV0gaXMgdW5kZWZpbmVkLCBwcm9wZXJ0aWVzLltbU2V0XV0gcmVmZXJzIHRvIGFuIG9iamNldCAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9GdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBnZXQ6IGdldF9GdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9GdW5jKCkgeyB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9GdW5jDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGUgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuW1tTZXRdXSBhbmQgcHJvcGVydGllcy5bW1NldF1dIGFyZSB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDExLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlDb25maWd1cmFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIGJvdGggcHJvcGVydGllcy5bW0dldF1dIGFuZCBQLltbR2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBib3RoIHByb3BlcnRpZXMuW1tHZXRdXSBhbmQgUC5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMxLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jMSwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLltbR2V0XV0gaXMgdW5kZWZpbmVkLCBwcm9wZXJ0aWVzLltbR2V0XV0gcmVmZXJzIHRvIGFuIG9iamNldCAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIGRhdGEgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgYnV0IG5vdCB3aGVuIGJvdGggYXJlIGZhbHNlICg4LjEyLjkgLSBzdGVwIE5vdGUgJiAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgcHJvcGVydHkxOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDA0DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eTEiLCAxMDAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSBidXQgbm90IHdoZW4gYm90aCBhcmUgZmFsc2UgKDguMTIuOSAtIHN0ZXAgTm90ZSAmIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIDE6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIHRydWUpICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMSIsIDEwMDMsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIGZhaWwgdG8gdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBmaXJzdCB1cGRhdGluZyBwcm9wZXJ0eSBpcyBmYWxzZSAgKDguMTIuOSAtIHN0ZXAgTm90ZSAmIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTE6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eTEiLCAxMDAzLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIGZhaWwgdG8gdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGZpcnN0IHVwZGF0aW5nIHByb3BlcnR5IGFyZSBmYWxzZSAgKDguMTIuOSAtIHN0ZXAgTm90ZSAmIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIDE6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjEiLCAxMDAzLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgd2lsbCBub3QgdGhyb3cgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuW1tHZXRdXSBhbmQgcHJvcGVydGllcy5bW0dldF1dIGFyZSB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgcHJvcGVydGllcy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC52YWx1ZSBpcyBwcmVzZW50IGFuZCBwcm9wZXJ0aWVzLnZhbHVlIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgcHJvcGVydGllcy52YWx1ZSBpcyBwcmVzZW50IGFuZCBQLnZhbHVlIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC53cml0YWJsZSBhbmQgcHJvcGVydGllcy53cml0YWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC5lbnVtZXJhYmxlIGFuZCBwcm9wZXJ0aWVzLmVudW1lcmFibGUgYXJlIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDIwMCwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjcvMTUuMi4zLjctNi1hLTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgUC5jb25maWd1cmFibGUgaXMgdHJ1ZSBhbmQgcHJvcGVydGllcy5jb25maWd1cmFibGUgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAyMDAsIA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwgDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3Quc2VhbDsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3Quc2VhbC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3Quc2VhbCh1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnNlYWwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIGEgYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnNlYWwoZmFsc2UpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIGEgc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3Quc2VhbCgiYWJjIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LnNlYWwoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBleHRlbnNpYmxlIG9mICdPJyBpcyBzZXQgYXMgZmFsc2UgZXZlbiBpZiAnTycgaGFzIG5vIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0aWVzIGFyZSBpZ25vcmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoY2hpbGQpOw0KICAgICAgICBPYmplY3Quc2VhbChjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQogICAgICAgIGRlbGV0ZSBwcm90by5GYXRoZXI7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGJlZm9yZURlbGV0ZWQgJiYgIWFmdGVyRGVsZXRlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydGllcyBhcmUgaWdub3JlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIkZhdGhlciIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7DQogICAgICAgIE9iamVjdC5zZWFsKGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCiAgICAgICAgZGVsZXRlIHByb3RvLkZhdGhlcjsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYmVmb3JlRGVsZXRlZCAmJiAhYWZ0ZXJEZWxldGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSBub24tZW51bWVyYWJsZSBvd24gcHJvcGVydHkgb2YgJ08nIGlzIHNlYWxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYmVmb3JlRGVsZXRlZCAmJiBhZnRlckRlbGV0ZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIG9iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGJvb2xPYmouZm9vID0gMTA7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYm9vbE9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGJvb2xPYmopOw0KDQogICAgICAgIGRlbGV0ZSBib29sT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGJvb2xPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTEpOw0KDQogICAgICAgIG51bU9iai5mb28gPSAxMDsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShudW1PYmopOw0KICAgICAgICBPYmplY3Quc2VhbChudW1PYmopOw0KDQogICAgICAgIGRlbGV0ZSBudW1PYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgbnVtT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLmZvbyA9IDEwOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGRhdGVPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChkYXRlT2JqKTsNCg0KICAgICAgICBkZWxldGUgZGF0ZU9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBkYXRlT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmouZm9vID0gMTA7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUocmVnT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwocmVnT2JqKTsNCg0KICAgICAgICBkZWxldGUgcmVnT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIHJlZ09iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGVyck9iai5mb28gPSAxMDsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChlcnJPYmopOw0KDQogICAgICAgIGRlbGV0ZSBlcnJPYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgZXJyT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShhcmdPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChhcmdPYmopOw0KDQogICAgICAgIGRlbGV0ZSBhcmdPYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYXJnT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHsgZm9vOiAwIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGNoaWxkKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoY2hpbGQpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGNoaWxkKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoY2hpbGQpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIG9iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7DQogICAgICAgIE9iamVjdC5zZWFsKGNoaWxkKTsNCg0KICAgICAgICBkZWxldGUgY2hpbGQuZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgY2hpbGQuZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7DQogICAgICAgIE9iamVjdC5zZWFsKGNoaWxkKTsNCg0KICAgICAgICBkZWxldGUgY2hpbGQuZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgY2hpbGQuZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGZ1bk9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGZ1bk9iaik7DQoNCiAgICAgICAgZGVsZXRlIGZ1bk9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBmdW5PYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqLmZvbyA9IDEwOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyck9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGFyck9iaik7DQoNCiAgICAgICAgZGVsZXRlIGFyck9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBhcnJPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHN0ck9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKHN0ck9iaik7DQoNCiAgICAgICAgZGVsZXRlIHN0ck9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBzdHJPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGZyb20gdHJ1ZSB0byBmYWxzZSBhbmQgb3RoZXIgYXR0cmlidXRlcyBvZiB0aGUgcHJvcGVydHkgYXJlIHVuYWx0ZXJlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIGlzIHNldCBmcm9tIHRydWUgdG8gZmFsc2UgYW5kIG90aGVyIGF0dHJpYnV0ZXMgb2YgdGhlIHByb3BlcnR5IGFyZSB1bmFsdGVyZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52YXJpYWJsZUZvckhlbHBWZXJpZnkgPSAiZGF0YSI7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2YXJpYWJsZUZvckhlbHBWZXJpZnkiLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbGwgb3duIHByb3BlcnRpZXMgb2YgJ08nIGFyZSBzZXQgZnJvbSB0cnVlIHRvIGZhbHNlIGFuZCBvdGhlciBhdHRyaWJ1dGVzIG9mIHRoZSBwcm9wZXJ0eSBhcmUgdW5hbHRlcmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gImRhdGEiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28xIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzIiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMSIsIDEwLCB0cnVlLCB0cnVlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28yIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmFyaWFibGVGb3JIZWxwVmVyaWZ5IiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIGFsbCBvd24gcHJvcGVydGllcyBvZiAnTycgYXJlIGFscmVhZHkgbm9uLWNvbmZpZ3VyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9ICJkYXRhIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52YXJpYWJsZUZvckhlbHBWZXJpZnkgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMSIsIDEwLCB0cnVlLCB0cnVlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28yIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmFyaWFibGVGb3JIZWxwVmVyaWZ5IiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShmdW4pOw0KICAgICAgICBPYmplY3Quc2VhbChmdW4pOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoZnVuKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJyKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoYXJyKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKGFycik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhIik7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoc3RyT2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKHN0ck9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShib29sT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoYm9vbE9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChib29sT2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDMpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG51bU9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG51bU9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChudW1PYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZGF0ZU9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGRhdGVPYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoZGF0ZU9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHJlZ09iaik7DQogICAgICAgIE9iamVjdC5zZWFsKHJlZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChyZWdPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChlcnJPYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoZXJyT2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMi1jLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZ09iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGFyZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChhcmdPYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSByZXR1cm5lZCBvYmplY3QgaXMgbm90IGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnTycgaXMgc2VhbGVkIGFscmVhZHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSAnTycgaXMgZnJvemVuIGFscmVhZHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjgvMTUuMi4zLjgtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgLSB0aGUgZXh0ZW5zaW9uIG9mICdPJyBpcyBwcmV2ZW50ZWQgYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5mcmVlemU7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5mcmVlemUubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5mcmVlemUodW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKGZhbHNlKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKHRydWUpOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKCJhYmMiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZSgwKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIGV4dGVuc2libGUgb2YgJ08nIGlzIHNldCBhcyBmYWxzZSBldmVuIGlmICdPJyBoYXMgbm8gb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIGluaGVyaXRlZCBkYXRhIHByb3BlcnRpZXMgYXJlIG5vdCBmcm96ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJGYXRoZXIiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQogICAgICAgIGRlbGV0ZSBwcm90by5GYXRoZXI7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgIWFmdGVyRGVsZXRlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0aWVzIGFyZSBub3QgZnJvemVuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCiAgICAgICAgZGVsZXRlIHByb3RvLkZhdGhlcjsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCAmJiAhYWZ0ZXJEZWxldGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIE5vbi1lbnVtZXJhYmxlIG93biBwcm9wZXJ0aWVzIG9mICdPJyBhcmUgZnJvemVuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkICYmIGFmdGVyRGVsZXRlZCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICByZXR1cm4gb2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gbmFtZWQgcHJvcGVydHkgb2YgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUoYXJyT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyT2JqLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGFyck9iai5mb287DQogICAgICAgIHJldHVybiBhcnJPYmouZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgdGhlIEFyZ3VtZW50cyBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICIwIjogdHJ1ZQ0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcmdPYmopOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmdPYmosICIwIik7DQoNCiAgICAgICAgZGVsZXRlIGFyZ09ialswXTsNCiAgICAgICAgcmV0dXJuIGFyZ09ialswXSA9PT0gMSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgYSBTdHJpbmcgb2JqZWN0IHRoYXQgaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAiMCI6IHRydWUNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoc3RyT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3RyT2JqLCAiMCIpOw0KDQogICAgICAgIGRlbGV0ZSBzdHJPYmpbMF07DQogICAgICAgIHJldHVybiBzdHJPYmpbMF0gPT09ICJhIiAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgdGhlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAiMCI6IHRydWUNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAyfTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICByZXR1cm4gb2JqWzBdID09PSAwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdQJyBpcyBvd24gaW5kZXggcHJvcGVydHkgb2YgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgIjAiOiB0cnVlDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcnJPYmopOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICIwIik7DQoNCiAgICAgICAgZGVsZXRlIGFyck9ialswXTsNCiAgICAgICAgcmV0dXJuIGFyck9ialswXSA9PT0gMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGZvbzogMCB9OyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgY2hpbGQuZm9vID0gMTA7IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQogDQogICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGQpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBjaGlsZC5mb28gPT09IDEwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGNoaWxkLmZvbzsNCiAgICAgICAgcmV0dXJuIGNoaWxkLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICByZXR1cm4gb2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgcHJvdG8uZm9vID0gMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGNoaWxkLmZvbzsNCiAgICAgICAgcmV0dXJuIGNoaWxkLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGQpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBjaGlsZC5mb28gPT09IDEwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBuYW1lZCBwcm9wZXJ0eSBvZiBhbiBBcmd1bWVudHMgb2JqZWN0IHRoYXQgaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpOw0KDQogICAgICAgIGFyZ09iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGFyZ09iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ09iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBhcmdPYmouZm9vOw0KICAgICAgICByZXR1cm4gYXJnT2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBuYW1lZCBwcm9wZXJ0eSBvZiB0aGUgU3RyaW5nIG9iamVjdCB0aGF0IGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUoc3RyT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3RyT2JqLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIHN0ck9iai5mb287DQogICAgICAgIHJldHVybiBzdHJPYmouZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1hLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBwcm9wZXJ0eSBvZiB0aGUgRnVuY3Rpb24gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGZ1bk9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGZ1bk9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZ1bk9iaiwgImZvbyIpOw0KDQogICAgICAgIGRlbGV0ZSBmdW5PYmouZm9vOw0KICAgICAgICByZXR1cm4gZnVuT2JqLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1iLWktMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSBUaGUgW1tXcnRpYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IHRvIGZhbHNlIHdoaWxlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIHVuY2hhbmdlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1iLWktMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSBUaGUgW1tXcnRpYWJsZV1dIGF0dHJpYnV0ZSBvZiBhbGwgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIHNldCB0byBmYWxzZSB3aGlsZSBvdGhlciBhdHRyaWJ1dGVzIGFyZSB1bmNoYW5nZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbzEiKTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28yIik7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbzEiLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKSAmJg0KICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMiIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJg0KICAgICAgICAgICAgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMS53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgdG8gZmFsc2Ugd2hpbGUgb3RoZXIgYXR0cmlidXRlcyBhcmUgdW5jaGFuZ2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKSAmJg0KICAgICAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IHRvIGZhbHNlIHdoaWxlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIHVuY2hhbmdlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXN1bHRTZXRGdW4gPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXN1bHRTZXRGdW4gPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHZhciByZXMxID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZhciByZXMyID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICAgICAgdmFyIHJlc3VsdENvbmZpZ3VyYWJsZSA9IChyZXMxICYmIHJlczIpOw0KDQogICAgICAgIHZhciByZXN1bHRHZXRGdW4gPSAob2JqLmZvbyA9PT0gMTApOw0KICAgICAgICBvYmouZm9vID0gMTI7DQoNCiAgICAgICAgdmFyIHJlc3VsdEVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdEVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gcmVzdWx0Q29uZmlndXJhYmxlICYmIHJlc3VsdEVudW1lcmFibGUgJiYgcmVzdWx0R2V0RnVuICYmIHJlc3VsdFNldEZ1bjsNCg0KICAgICAgICByZXR1cm4gZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFsbCBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IHRvIGZhbHNlIHdoaWxlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIHVuY2hhbmdlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0U2V0RnVuID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXN1bHRTZXRGdW4gPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzIiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KDQogICAgICAgIHZhciByZXMxID0gb2JqLmhhc093blByb3BlcnR5KCJmb28yIik7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vMjsNCiAgICAgICAgdmFyIHJlczIgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbzIiKTsNCiAgICAgICAgdmFyIHJlc3VsdENvbmZpZ3VyYWJsZSA9IChyZXMxICYmIHJlczIpOw0KDQogICAgICAgIHZhciByZXN1bHRHZXRGdW4gPSAob2JqLmZvbzIgPT09IDEwKTsNCiAgICAgICAgb2JqLmZvbzIgPSAxMjsNCg0KICAgICAgICB2YXIgcmVzdWx0RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJmb28yIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdEVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28xIik7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vMiIpOw0KDQogICAgICAgIHZhciByZXN1bHQgPSByZXN1bHRDb25maWd1cmFibGUgJiYgcmVzdWx0RW51bWVyYWJsZSAmJiByZXN1bHRHZXRGdW4gJiYgcmVzdWx0U2V0RnVuOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28xIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSkgJiYgcmVzdWx0ICYmDQogICAgICAgICAgICBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1jLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gYWxsIG93biBwcm9wZXJ0aWVzIG9mICdPJyBhcmUgbm90IHdyaXRhYmxlIGFuZCBub3QgY29uZmlndXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0U2V0RnVuID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKCkgew0KICAgICAgICAgICAgcmVzdWx0U2V0RnVuID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28yIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICB2YXIgcmVzMSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vMiIpOw0KICAgICAgICBkZWxldGUgb2JqLmZvbzI7DQogICAgICAgIHZhciByZXMyID0gb2JqLmhhc093blByb3BlcnR5KCJmb28yIik7DQogICAgICAgIHZhciByZXN1bHRDb25maWd1cmFibGUgPSAocmVzMSAmJiByZXMyKTsNCg0KICAgICAgICB2YXIgcmVzdWx0R2V0RnVuID0gKG9iai5mb28yID09PSAxMCk7DQogICAgICAgIG9iai5mb28yID0gMTI7DQoNCiAgICAgICAgdmFyIHJlc3VsdEVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiZm9vMiIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHRFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vMSIpOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbzIiKTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gcmVzdWx0Q29uZmlndXJhYmxlICYmIHJlc3VsdEVudW1lcmFibGUgJiYgcmVzdWx0R2V0RnVuICYmIHJlc3VsdFNldEZ1bjsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMSIsIDEwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpICYmDQogICAgICAgICAgICByZXN1bHQgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMS53cml0YWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGZ1bk9iaik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihmdW5PYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcnJPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oYXJyT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhIik7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShzdHJPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oc3RyT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGJvb2xPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oYm9vbE9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDMpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUobnVtT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKG51bU9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShkYXRlT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGRhdGVPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShyZWdPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ocmVnT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgU3ludGF4RXJyb3IoKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGVyck9iaik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihlcnJPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMi1kLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0gKCkpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoYXJnT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGFyZ09iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIHJldHVybmVkIG9iamVjdCBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdPJyBpcyBzZWFsZWQgYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtICdPJyBpcyBmcm96ZW4gYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjkvMTUuMi4zLjktNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIHRoZSBleHRlbnNpb25zIG9mICdPJyBpcyBwcmV2ZW50ZWQgYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IFVuZGVmaW5lZF0nIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiAndGhpcycgdmFsdWUgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh1bmRlZmluZWQpID09PSAiW29iamVjdCBVbmRlZmluZWRdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IFVuZGVmaW5lZF0nIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiAndGhpcycgdmFsdWUgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkodW5kZWZpbmVkLCBbXSkgPT09ICJbb2JqZWN0IFVuZGVmaW5lZF0iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IE51bGxdJyB3aWxsIGJlIHJldHVybmVkIHdoZW4gJ3RoaXMnIHZhbHVlIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG51bGwpID09PSAiW29iamVjdCBOdWxsXSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvMTUuMi40LjItMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAtICdbb2JqZWN0IE51bGxdJyB3aWxsIGJlIHJldHVybmVkIHdoZW4gJ3RoaXMnIHZhbHVlIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5hcHBseShudWxsLCBbXSkgPT09ICJbb2JqZWN0IE51bGxdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"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":"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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yLzE1LjMuMi4xLzE1LjMuMi4xLTEwLTRncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIGEgZnVuY3Rpb24gdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGhhcyB0d28gaWRlbnRpY2FsIHBhcmFtZXRlcnMgaW4gKGdsb2JhbCkgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgTm90RWFybHlFcnJvcg0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgXzE1XzNfMl8xXzEwXzRfZnVuID0gbmV3IEZ1bmN0aW9uKCdwYXJhbV8xJywgJ3BhcmFtXzInLCAncGFyYW1fMScsICcidXNlIHN0cmljdCI7IHJldHVybiAwOycpOw0K","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yLzE1LjMuMi4xLzE1LjMuMi4xLTEwLTZncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gU3ludGF4RXJyb3IgaXMgdGhyb3duIGlmIGEgZnVuY3Rpb24gdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGhhcyB0d28gaWRlbnRpY2FsIHBhcmFtZXRlcnMgaW4gKGxvY2FsKSBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBOb3RFYXJseUVycm9yDQogKi8NCg0KdGhyb3cgTm90RWFybHlFcnJvcjsNCnZhciBfMTVfM18yXzFfMTBfNl9mdW4gPSBuZXcgRnVuY3Rpb24oJ3BhcmFtXzEnLCAncGFyYW1fMicsICdwYXJhbV8xJywgJyJ1c2Ugc3RyaWN0IjtyZXR1cm4gMDsnKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIHNlcGVyYXRlIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgIA0KICB0cnkgew0KICAgIEZ1bmN0aW9uKCdhJywnYScsJyJ1c2Ugc3RyaWN0IjsnKTsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIER1cGxpY2F0ZSBzZXBhcmF0ZSBwYXJhbWV0ZXIgbmFtZSBpbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBhbGxvd2VkIGlmIGJvZHkgbm90IHN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyAgIA0KICAgIEZ1bmN0aW9uKCdhJywnYScsJ3JldHVybjsnKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIHNlcGVyYXRlIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGNhbGxlZCBmcm9tIHN0cmljdCBtb2RlIGFsbG93ZWQgaWYgYm9keSBub3Qgc3RyaWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyANCiAgInVzZSBzdHJpY3QiOyANCiAgdHJ5IHsNCiAgICBGdW5jdGlvbignYScsJ2EnLCdyZXR1cm47Jyk7DQogICAgcmV0dXJuIHRydWU7DQogIH0gY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY29uc3RydWN0b3IgaGF2aW5nIGEgZm9ybWFsIHBhcmFtZXRlciBuYW1lZCAnZXZhbCcgdGhyb3dzIFN5bnRheEVycm9yIGlmIGZ1bmN0aW9uIGJvZHkgaXMgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQoNCiAgdHJ5IHsNCiAgICBGdW5jdGlvbignZXZhbCcsICcidXNlIHN0cmljdCI7Jyk7DQoJcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIG1heSBoYXZlIGEgZm9ybWFsIHBhcmFtZXRlciBuYW1lZCAnZXZhbCcgaWYgYm9keSBpcyBub3Qgc3RyaWN0IG1vZGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBGdW5jdGlvbignZXZhbCcsICdyZXR1cm47Jyk7DQogIHJldHVybiB0cnVlOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY29uc3RydWN0b3IgY2FsbCBmcm9tIHN0cmljdCBjb2RlIHdpdGggZm9ybWFsIHBhcmFtZXRlciBuYW1lZCAnZXZhbCcgZG9lcyBub3QgdGhyb3dzIFN5bnRheEVycm9yIGlmIGZ1bmN0aW9uIGJvZHkgaXMgbm90IHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAidXNlIHN0cmljdCI7DQogICB0cnkgeyANCiAgICAgRnVuY3Rpb24oJ2V2YWwnLCAncmV0dXJuOycpOw0KCSByZXR1cm4gdHJ1ZTsNCiAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgcmV0dXJuIGZhbHNlOw0KICAgfQ0KICAgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIGNvbWJpbmVkIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIHRocm93cyBTeW50YXhFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsgICANCiAgdHJ5IA0KICB7DQogICAgRnVuY3Rpb24oJ2EsYScsJyJ1c2Ugc3RyaWN0IjsnKTsNCglyZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4oZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIER1cGxpY2F0ZSBjb21iaW5lZCBwYXJhbWV0ZXIgbmFtZSBpbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBhbGxvd2VkIGlmIGJvZHkgaXMgbm90IHN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyAgIA0KICAgIEZ1bmN0aW9uKCdhLGEnLCdyZXR1cm47Jyk7DQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIGNvbWJpbmVkIHBhcmFtZXRlciBuYW1lIGFsbG93ZWQgaW4gRnVuY3Rpb24gY29uc3RydWN0b3IgY2FsbGVkIGluIHN0cmljdCBtb2RlIGlmIGJvZHkgbm90IHN0cmljdA0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkNCnsgDQogICJ1c2Ugc3RyaWN0IjsgDQogIHRyeSB7DQogICAgIEZ1bmN0aW9uKCdhLGEnLCdyZXR1cm4gYTsnKTsNCgkgcmV0dXJuIHRydWU7DQogIH0gY2F0Y2ggKGUpIHsNCiAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY29uc3RydWN0b3IgY2FsbCBmcm9tIHN0cmljdCBjb2RlIHdpdGggZm9ybWFsIHBhcmFtZXRlciBuYW1lZCBhcmd1bWVudHMgZG9lcyBub3QgdGhyb3dzIFN5bnRheEVycm9yIGlmIGZ1bmN0aW9uIGJvZHkgaXMgbm90IHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAidXNlIHN0cmljdCI7DQogICB0cnkgew0KICAgICBGdW5jdGlvbignYXJndW1lbnRzJywgJ3JldHVybjsnKTsNCiAgICAgcmV0dXJuIHRydWU7DQoJIA0KICAgfSBjYXRjaCAoZSkgew0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIGlmIGEgZnVuY3Rpb24gaXMgY3JlYXRlZCB1c2luZyBhIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIHRoYXQgaGFzIHR3byBpZGVudGljYWwgcGFyYW1ldGVycywgd2hpY2ggYXJlIHNlcGFyYXRlZCBieSBhIHVuaXF1ZSBwYXJhbWV0ZXIgbmFtZSBhbmQgdGhlcmUgaXMgbm8gZXhwbGljaXQgJ3VzZSBzdHJpY3QnIGluIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvcidzIGJvZHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBmb28gPSBuZXcgRnVuY3Rpb24oImJheiIsICJxdXgiLCAiYmF6IiwgInJldHVybiAwOyIpOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvMTUuMy4yLjEvMTUuMy4yLjEtMTEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTeW50YXhFcnJvciBpcyB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGF0IGhhcyB0aHJlZSBpZGVudGljYWwgcGFyYW1ldGVycyBhbmQgdGhlcmUgaXMgbm8gZXhwbGljaXQgJ3VzZSBzdHJpY3QnIGluIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvcidzIGJvZHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHZhciBmb28gPSBuZXcgRnVuY3Rpb24oImJheiIsICJiYXoiLCAiYmF6IiwgInJldHVybiAwOyIpOw0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvMTUuMy4zLjIvMTUuMy4zLjItMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLmxlbmd0aCAtIGRhdGEgcHJvcGVydHkgd2l0aCB2YWx1ZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24sImxlbmd0aCIpOw0KICBpZihkZXNjLnZhbHVlID09PSAxICYmDQogICAgIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKQ0KICAgIHJldHVybiB0cnVlOyANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvMTUuMy40LjMtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBzdHJpbmcgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gKHRoaXMgaW5zdGFuY2VvZiBTdHJpbmcpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhZnVuLmFwcGx5KCIiLCBBcnJheSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvMTUuMy40LjMtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBudW1iZXIgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgTnVtYmVyKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWZ1bi5hcHBseSgtMTIsIEFycmF5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvMTUuMy40LjMtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBib29sZWFuIHdoaWNoIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gd3JhcHBlciBvYmplY3RzIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIGFuIGFycmF5IG9mIGFyZ3VtZW50cw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgQm9vbGVhbik7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFmdW4uYXBwbHkoZmFsc2UsIEFycmF5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"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":"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":"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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvMTUuMy40LjQtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBzdHJpbmcgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGhvdXQgYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgU3RyaW5nKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWZ1bi5jYWxsKCIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvMTUuMy40LjQtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBudW1iZXIgd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRob3V0IGFuIGFycmF5IGFyZ3VtZW50DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgTnVtYmVyKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWZ1bi5jYWxsKC0xMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvMTUuMy40LjQtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAndGhpcycgdmFsdWUgaXMgYSBib29sZWFuIHdoaWNoIGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gd3JhcHBlciBvYmplY3RzIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRob3V0IGFuIGFycmF5IG9mIGFyZ3VtZW50cw0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAodGhpcyBpbnN0YW5jZW9mIEJvb2xlYW4pOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhZnVuLmNhbGwoZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"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":"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":"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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZDsNCg0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gaW50ZXJuYWwgcHJvcGVydHkgW1tDbGFzc11dIG9mICdGJyBpcyBzZXQgYXMgRnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopID09PSAiW29iamVjdCBGdW5jdGlvbl0iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gaW50ZXJuYWwgcHJvcGVydHkgW1tQcm90b3R5cGVdXSBvZiAnRicgaXMgc2V0IGFzIEZ1bmN0aW9uLnByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eSA9IDEyOw0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIGJvdW5kIGZuIGhhcyBhICdsZW5ndGgnIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIGlmIChiZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oeCwgeSkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKGJmLmxlbmd0aCA9PT0gMikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MgKGFsbCBhcmdzIHByZWZpbGxlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oeCwgeSkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvLCA0MiwgMTAxKTsNCiAgaWYgKGJmLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi00LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MgKHRhcmdldCB0YWtlcyAwIGFyZ3MpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKGJmLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi01LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MgKHRhcmdldCBwcm92aWRlZCBleHRyYSBhcmdzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobywgNDIpOw0KICBpZiAoYmYubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTMuYi02LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIHNldCB0byByZW1haW5pbmcgbnVtYmVyIG9mIGV4cGVjdGVkIGFyZ3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIGZ1bmN0aW9uIGZvbyh4LCB5KSB7IH0NCiAgICB2YXIgbyA9IHt9Ow0KDQogICAgdmFyIGJmID0gZm9vLmJpbmQobywgNDIpOw0KICAgIGlmIChiZi5sZW5ndGggPT09IDEpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCAnbGVuZ3RoJyBpcyBhIGRhdGEgdmFsdWVkIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiZiwgJ2xlbmd0aCcpOw0KICBpZiAoZGVzYy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfSAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCAnbGVuZ3RoJyBpcyBhIGRhdGEgdmFsdWVkIG93biBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJmLCAnbGVuZ3RoJyk7DQogIGlmIChkZXNjLnZhbHVlID09PSAwICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgbGVuZ3RoIHByb3BlcnR5IGluIEYgc2V0IGFzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FuV3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBoYXNQcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIik7DQogICAgICAgIG9iai5sZW5ndGggPSAxMDA7DQogICAgICAgIGNhbldyaXRhYmxlID0gKG9iai5sZW5ndGggPT09IDEwMCk7DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhY2FuV3JpdGFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiBsZW5ndGggcHJvcGVydHkgaW4gRiBzZXQgYXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5FbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgaGFzUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgY2FuRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmICFjYW5FbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGxlbmd0aCBwcm9wZXJ0eSBpbiBGIHNldCBhcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbkNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsNCiAgICAgICAgZGVsZXRlIG9iai5jYWxsZXI7DQogICAgICAgIGNhbkNvbmZpZ3VyYWJsZSA9ICFvYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgIWNhbkNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCBbW0V4dGVuc2libGVdXSBvZiB0aGUgYm91bmQgZm4gaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIHZhciBleCA9IE9iamVjdC5pc0V4dGVuc2libGUoYmYpOw0KICBpZiAoZXggPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMTYtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRXh0ZW5zaWJsZV1dIGF0dHJpYnV0ZSBvZiBpbnRlcm5hbCBwcm9wZXJ0eSBpbiBGIHNldCBhcyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gMTI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUgKGJ1dCBhbiBpbnN0YW5jZSBvZiBGdW5jdGlvbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gRnVuY3Rpb24ucHJvdG90eXBlOw0KICAvLyBkdW1teSBmdW5jdGlvbg0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCg0KICB0cnkgew0KICAgIGYuYmluZCgpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0gDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIE5VTEwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9IA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoNSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoImFiYyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCB0aHJvd3MgVHlwZUVycm9yIGlmICdUYXJnZXQnIGlzIE9iamVjdCB3aXRob3V0IENhbGwgaW50ZXJuYWwgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoe30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtICdUYXJnZXQnIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiB0ZXN0RnVuYygpIHt9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB0ZXN0RnVuYy5iaW5kKCk7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUgKGJpbmQgYXR0YWNoZWQgdG8gb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGR1bW15IGZ1bmN0aW9uIA0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5iaW5kID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ7DQoNCiAgdHJ5IHsNCiAgICBmLmJpbmQoKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoTnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBibmMgPSBOdW1iZXIuYmluZChudWxsKTsNCiAgdmFyIG4gPSBibmMoNDIpOw0KICBpZiAobiA9PT0gNDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBic2MgPSBTdHJpbmcuYmluZChudWxsKTsNCiAgdmFyIHMgPSBic2MoImhlbGxvIHdvcmxkIik7DQogIGlmIChzID09PSAiaGVsbG8gd29ybGQiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoQm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYmJjID0gQm9vbGVhbi5iaW5kKG51bGwpOw0KICB2YXIgYiA9IGJiYyh0cnVlKTsNCiAgaWYgKGIgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBib2MgPSBPYmplY3QuYmluZChudWxsKTsNCiAgdmFyIG8gPSBib2MoNDIpOw0KICBpZiAobyA9PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIHRocm93cyBUeXBlRXJyb3IgaWYgdGhlIFRhcmdldCBpcyBub3QgY2FsbGFibGUgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBKU09OLmJpbmQoKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjMuNC41IHN0ZXAgMiBzcGVjaWZpZXMgdGhhdCBhIFR5cGVFcnJvciBtdXN0IGJlIHRocm93biBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41LzE1LjMuNC41LTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIGFsbG93cyBUYXJnZXQgdG8gYmUgYSBjb25zdHJ1Y3RvciAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJhYyA9IEFycmF5LmJpbmQobnVsbCk7DQogICAgICAgIHZhciBhID0gYmFjKDQyKTsNCiAgICAgICAgYS5wcm9wID0gInZlcmlmeVByb3BlcnR5RXhpc3QiOw0KICAgICAgICBhWzQxXSA9IDQxOw0KDQogICAgICAgIHJldHVybiBhLnByb3AgPT09ICJ2ZXJpZnlQcm9wZXJ0eUV4aXN0IiAmJiBhWzQxXSA9PT0gNDEgJiYgYS5sZW5ndGggPT09IDQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi05LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiZGMgPSBEYXRlLmJpbmQobnVsbCk7DQogIHZhciBzID0gYmRjKDAsIDAsIDApOw0KICBpZiAodHlwZW9mKHMpID09PSAnc3RyaW5nJykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gJ2NhbGxlcicgaXMgZGVmaW5lZCBhcyBvbmUgcHJvcGVydHkgb2YgJ0YnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgJ2NhbGxlcicgcHJvcGVydHkgaW4gJ0YnIGlzIHRocm93ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5jYWxsZXIgJiYgZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgJ2NhbGxlcicgcHJvcGVydHkgaW4gICdGJyBpcyB0aHJvd2VyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5jYWxsZXIgPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnY2FsbGVyJyBwcm9wZXJ0eSBpbiAgJ0YnIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FuRW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJjYWxsZXIiKTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiY2FsbGVyIikgew0KICAgICAgICAgICAgICAgIGNhbkVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhY2FuRW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjAtNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICdjYWxsZXInIHByb3BlcnR5IGluICAnRicgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5Db25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBoYXNQcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIik7DQogICAgICAgIGRlbGV0ZSBvYmouY2FsbGVyOw0KICAgICAgICBjYW5Db25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImNhbGxlciIpOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgY2FuQ29uZmlndXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gJ2FyZ3VtZW50cycgaXMgZGVmaW5lZCBhcyBvbmUgcHJvcGVydHkgb2YgJ0YnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgJ2FyZ3VtZW50cycgcHJvcGVydHkgaW4gICdGJyBpcyB0aHJvd2VyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBvYmouYXJndW1lbnRzICYmIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgJ2FyZ3VtZW50cycgcHJvcGVydHkgaW4gICdGJyBpcyB0aHJvd2VyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai5hcmd1bWVudHMgPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnYXJndW1lbnRzJyBwcm9wZXJ0eSBpbiAgJ0YnIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FuRW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKTsNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAiYXJndW1lbnRzIikgew0KICAgICAgICAgICAgICAgIGNhbkVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhY2FuRW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMjEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gVGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICdhcmd1bWVudHMnIHByb3BlcnR5IGluICAnRicgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5Db25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBoYXNQcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIik7DQogICAgICAgIGRlbGV0ZSBvYmouY2FsbGVyOw0KICAgICAgICBjYW5Db25maWd1cmFibGUgPSAhb2JqLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKTsNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmICFjYW5Db25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBlYWNoIGFyZyBpcyBkZWZpbmVkIGluIEEgaW4gbGlzdCBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICh4LCB5KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oKHggKyB5KSA9PT0gImFiIiAmJiBhcmd1bWVudHNbMF0gPT09ICJhIiAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gImIiICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSwgImEiLCAiYiIpOw0KICAgICAgICByZXR1cm4gb2JqKCk9PXRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gMTI7DQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gRiBjYW4gZ2V0IG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gRiBjYW4gZ2V0IGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gRiBjYW5ub3QgZ2V0IHByb3BlcnR5IHdoaWNoIGRvZXNuJ3QgZXhpc3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5ID0gMzsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi00LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi01LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi02LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi03LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHkgPSAzOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi04LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtNi05LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7fQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIHR5cGUgb2YgYm91bmQgZnVuY3Rpb24gbXVzdCBiZSAnZnVuY3Rpb24nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKHR5cGVvZihiZikgPT09ICdmdW5jdGlvbicpIHsNCiAgICByZXR1cm4gIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbQ2xhc3NdXSBvZiBib3VuZCBmdW5jdGlvbiBtdXN0IGJlICdGdW5jdGlvbicNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChiZik7DQogIGlmIChzID09PSAnW29iamVjdCBGdW5jdGlvbl0nKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbUHJvdG90eXBlXV0gaXMgRnVuY3Rpb24ucHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGJmKSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtOS0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbUHJvdG90eXBlXV0gaXMgRnVuY3Rpb24ucHJvdG90eXBlICh1c2luZyBnZXRQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKGJmKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gJ0YnJ3MgW1tCb3VuZEFyZ3NdXSBpcyB1c2VkIGFzIHRoZSBmb3JtZXIgcGFydCBvZiBhcmd1bWVudHMgb2YgY2FsbGluZyB0aGUgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4LCB5LCB6KSB7DQogICAgICAgICAgICByZXR1cm4geCArIHkgKyB6Ow0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgImEiLCAiYiIsICJjIik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKSA9PT0gImFiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgdHlwZW9mIHggPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMSwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMiwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKDEsIDIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAxLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIHRoaXMucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaiwgMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAxLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMSwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDINCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmosIDEpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKDIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NhbGxdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAyLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0aGlzLnByb3AgPT09ICJhYmMiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmosIDEsIDIpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gJ0YnJ3MgW1tCb3VuZFRoaXNdXSBpcyB1c2VkIGFzIHRoZSAndGhpcycgdmFsdWUgb2YgY2FsbGluZyB0aGUgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcCI6ICJhIiB9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKSA9PT0gb2JqOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gdGhlIHByb3ZpZGVkIGFyZ3VtZW50cyBpcyB1c2VkIGFzIHRoZSBsYXR0ZXIgcGFydCBvZiBhcmd1bWVudHMgb2YgY2FsbGluZyB0aGUgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4LCB5LCB6KSB7DQogICAgICAgICAgICByZXR1cm4gejsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30sICJhIiwgImIiKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygiYyIpID09PSAiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aG91dCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPT09IDA7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aG91dCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXSA9PT0gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDA7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50c1swXSA9PT0gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqLCAxKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50c1swXSA9PT0gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMS8xNS4zLjQuNS4xLTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMCwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqICYmIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaiwgMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSAnRicncyBbW0JvdW5kQXJnc11dIGlzIHVzZWQgYXMgdGhlIGZvcm1lciBwYXJ0IG9mIGFyZ3VtZW50cyBvZiBjYWxsaW5nIHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCBvZiAnRicncyBbW1RhcmdldEZ1bmN0aW9uXV0gd2hlbiAnRicgaXMgY2FsbGVkIGFzIGNvbnN0cnVjdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCwgeSwgeikgew0KICAgICAgICAgICAgdmFyIG9ialJlc3VsdCA9IHt9Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZhbHVlID0geCArIHkgKyB6Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZlcmlmeVJlc3VsdCA9IGFyZ3VtZW50c1swXSA9PT0gImEiICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDM7DQogICAgICAgICAgICByZXR1cm4gb2JqUmVzdWx0Ow0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgImEiLCAiYiIsICJjIik7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UuaGFzT3duUHJvcGVydHkoInJldHVyblZhbHVlIikgJiYgbmV3SW5zdGFuY2UucmV0dXJuVmFsdWUgPT09ICJhYmMiICYmDQogICAgICAgICAgICBuZXdJbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgicmV0dXJuVmVyaWZ5UmVzdWx0IikgJiYgbmV3SW5zdGFuY2UucmV0dXJuVmVyaWZ5UmVzdWx0ID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMF0gPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30pOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKDEsIDIpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMF0gPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgMSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30sIDEpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKDIpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBbW0NvbnN0cnVjdF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDIsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgeCA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30sIDEsIDIpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSB0aGUgcHJvdmlkZWQgYXJndW1lbnRzIGlzIHVzZWQgYXMgdGhlIGxhdHRlciBwYXJ0IG9mIGFyZ3VtZW50cyBvZiBjYWxsaW5nIHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCBvZiAnRicncyBbW1RhcmdldEZ1bmN0aW9uXV0gd2hlbiAnRicgaXMgY2FsbGVkIGFzIGNvbnN0cnVjdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCwgeSwgeikgew0KICAgICAgICAgICAgdmFyIG9ialJlc3VsdCA9IHt9Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZhbHVlID0geCArIHkgKyB6Ow0KICAgICAgICAgICAgb2JqUmVzdWx0LnJldHVyblZlcmlmeVJlc3VsdCA9IGFyZ3VtZW50c1swXSA9PT0gImEiICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDM7DQogICAgICAgICAgICByZXR1cm4gb2JqUmVzdWx0Ow0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoImEiLCAiYiIsICJjIik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLmhhc093blByb3BlcnR5KCJyZXR1cm5WYWx1ZSIpICYmIG5ld0luc3RhbmNlLnJldHVyblZhbHVlID09PSAiYWJjIiAmJg0KICAgICAgICAgICAgbmV3SW5zdGFuY2UuaGFzT3duUHJvcGVydHkoInJldHVyblZlcmlmeVJlc3VsdCIpICYmIG5ld0luc3RhbmNlLnJldHVyblZlcmlmeVJlc3VsdCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDAsIGFuZCB3aXRob3V0ICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMCk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDEsIGFuZCB3aXRob3V0ICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jKTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygxKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDAsIGFuZCB3aXRoICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDogImFiYyIgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS52ZXJpZnlUaGlzID0gInZlcmlmeVRoaXMiOw0KICAgICAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDAgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMpID09PSAiW29iamVjdCBPYmplY3RdIiAmJg0KICAgICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeVRoaXMgPT09ICJ2ZXJpZnlUaGlzIik7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqKTsNCg0KICAgICAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZlcmlmeVRoaXM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMSwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIGFyZ3VtZW50c1swXSA9PT0gMSk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9LCAxKTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIGFyZ3VtZW50c1swXSA9PT0gMSk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9KTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygxKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMSwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHNbMV0gPT09IDIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgMSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoMik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUuMi8xNS4zLjQuNS4yLTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAxLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMCAmJiB0eXBlb2YgeCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41LzE1LjMuNS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gZXJyb3IgaXMgdGhyb3duIHdoZW4gcmVhZGluZyB0aGUgJ2NhbGxlcicgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiBvYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgTm90RWFybHlFcnJvcg0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmZ1bmN0aW9uIF8xNV8zXzVfMV9ncygpIHt9DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KXzE1XzNfNV8xX2dzLmNhbGxlcjsNCg0K","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41LzE1LjMuNS0yZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3RNb2RlIC0gZXJyb3IgaXMgdGhyb3duIHdoZW4gcmVhZGluZyB0aGUgJ2NhbGxlcicgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiBvYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBfMTVfM181XzFfZ3MoKSB7fQ0KXzE1XzNfNV8xX2dzLmNhbGxlcjsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQo=","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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LmlzQXJyYXk7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LmlzQXJyYXkubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFtdOw0KICB2YXIgYiA9IEFycmF5LmlzQXJyYXkoYSk7DQogIGlmIChiID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gZmFsc2UgaWYgaXRzIGFyZ3VtZW50IGlzIG5vdCBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiX251bSAgID0gQXJyYXkuaXNBcnJheSg0Mik7DQogIHZhciBiX3VuZGVmID0gQXJyYXkuaXNBcnJheSh1bmRlZmluZWQpOw0KICB2YXIgYl9ib29sICA9IEFycmF5LmlzQXJyYXkodHJ1ZSk7DQogIHZhciBiX3N0ciAgID0gQXJyYXkuaXNBcnJheSgiYWJjIik7DQogIHZhciBiX29iaiAgID0gQXJyYXkuaXNBcnJheSh7fSk7DQogIHZhciBiX251bGwgID0gQXJyYXkuaXNBcnJheShudWxsKTsNCiAgDQogIGlmIChiX251bSA9PT0gZmFsc2UgJiYNCiAgICAgIGJfdW5kZWYgPT09IGZhbHNlICYmDQogICAgICBiX2Jvb2wgPT09IGZhbHNlICYmDQogICAgICBiX3N0ciA9PT0gZmFsc2UgJiYNCiAgICAgIGJfb2JqID09PSBmYWxzZSAmJg0KICAgICAgYl9udWxsID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkgKEFycmF5LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IEFycmF5LmlzQXJyYXkoQXJyYXkucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm4gdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgYW4gQXJyYXkgKG5ldyBBcnJheSgpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEwKTsNCiAgdmFyIGIgPSBBcnJheS5pc0FycmF5KGEpOw0KICBpZiAoYiA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMC03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSByZXR1cm5zIGZhbHNlIGlmIGl0cyBhcmd1bWVudCBpcyBub3QgYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgb1sxMl0gPSAxMzsNCiAgdmFyIGIgPSBBcnJheS5pc0FycmF5KG8pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkodHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkobmV3IFJlZ0V4cCgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShKU09OKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgU3ludGF4RXJyb3IoKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShhcmcpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LmlzQXJyYXkgYXBwbGllZCB0byB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIEJvb2xlYW4gT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkobmV3IEJvb2xlYW4oZmFsc2UpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheSg1KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgTnVtYmVyKC0zKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheSgiYWJjIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgU3RyaW5nKCJoZWxsb1xud29ybGRcXCEiKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGZ1bmN0aW9uICgpIHsgfSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KE1hdGgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkobmV3IERhdGUoKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGFuIG9iamVjdCB3aXRoIGFuIGFycmF5IGFzIHRoZSBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IFtdOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkoY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGFuIG9iamVjdCB3aXRoIEFycmF5LnByb3RvdHlwZSBhcyB0aGUgcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSBBcnJheS5wcm90b3R5cGU7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGNoaWxkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjIvMTUuNC4zLjItMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIGFuIEFycmF5LWxpa2Ugb2JqZWN0IHdpdGggbGVuZ3RoIGFuZCBzb21lIGluZGV4ZWQgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KHsgMDogMTIsIDE6IDksIGxlbmd0aDogMiB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwLzE1LjQuNC4xMC0xMC1jLWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc2xpY2Ugd2lsbCBzbGljZSBhIHN0cmluZyBmcm9tIHN0YXJ0IHRvIGVuZCB3aGVuIGluZGV4IHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBBcnJheS5wcm90b3R5cGUgKFN0ZXAgMTAuYy5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJ0ZXN0IiwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IGFyck9iai5zbGljZSgwLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiBuZXdBcnJbMF0gPT09IDEgJiYgdHlwZW9mIG5ld0FyclsxXSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyLzE1LjQuNC4xMi05LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zcGxpY2UgLSAnZnJvbScgaXMgdGhlIHJlc3VsdCBvZiBUb1N0cmluZyhhY3R1YWxTdGFydCtrKSBpbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQogICAgICAgIHZhciBuZXdBcnJPYmogPSBhcnJPYmouc3BsaWNlKC0yLCAxKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyck9iai5sZW5ndGggPT09IDEgJiYgbmV3QXJyT2JqWzBdID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyLzE1LjQuNC4xMi05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zcGxpY2Ugd2lsbCBzcGxpY2UgYW4gYXJyYXkgZXZlbiB3aGVuIEFycmF5LnByb3RvdHlwZSBoYXMgaW5kZXggJzAnIHNldCB0byByZWFkLW9ubHkgYW5kICdmcm9tUHJlc2VudCcgbGVzcyB0aGFuICdhY3R1YWxEZWxldGVDb3VudCAoU3RlcCA5LmMuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbImEiLCAiYiIsICJjIl07DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAidGVzdCI7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLnNwbGljZSgyLCAxLCAiZCIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gYXJyLmxlbmd0aCA9PT0gMyAmJiBhcnJbMF0gPT09ICJhIiAmJiBhcnJbMV0gPT09ICJiIiAmJiBhcnJbMl0gPT09ICJkIg0KICAgICAgICAgICAgICAgICYmIG5ld0FyclswXSA9PT0gImMiICYmIG5ld0Fyci5sZW5ndGggPT09IDE7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG5ld0Fycikgew0KICAgICAgICAgICAgICAgIGlmIChuZXdBcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiBwID09PSAiMCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIG5ld0FyclswXSA9IDEyOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSBuZXdBcnJbMF0gPT09IDEyOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzBdOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gbmV3QXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiAhdmVyaWZ5Q29uZmlndXJhYmxlICYmIHZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5V3JpdGFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBoYXMgYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgMS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHVuZGVmaW5lZCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHVuZGVmaW5lZCk7DQogICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aFsxXSA9IHRydWU7DQogICAgICAgICAgICBNYXRoLmxlbmd0aCA9IDI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChNYXRoLCB0cnVlKSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzFdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OWzNdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSA1Ow0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoSlNPTiwgdGFyZ2V0T2JqKSA9PT0gMzsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzNdOw0KICAgICAgICAgICAgZGVsZXRlIEpTT04ubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSBmdW4oMSwgdHJ1ZSwgMyk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gdHJ1ZTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRydWUpID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIG51bGwgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChudWxsKTsNCiAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGVbMV0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0cnVlLCB0YXJnZXRPYmopID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEJvb2xlYW4gT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzFdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCg1LCB0YXJnZXRPYmopID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0zKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKCJhYmMiLCAiYiIpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJudWxsIik7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAnbCcpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBmb3IgZWxlbWVudHMgbm90IHByZXNlbnQgaW4gYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhWzEwMF0gPSAxOw0KICBhWzk5OTk5XSA9ICIiOyAgDQogIGFbMTBdID0gbmV3IE9iamVjdCgpOw0KICBhWzU1NTVdID0gNS41Ow0KICBhWzEyMzQ1Nl0gPSAic3RyIjsNCiAgYVs1XSA9IDFFKzMwOTsNCiAgaWYgKGEuaW5kZXhPZigxKSAhPT0gMTAwIHx8IA0KICAgICAgYS5pbmRleE9mKCIiKSAhPT0gOTk5OTkgfHwNCiAgICAgIGEuaW5kZXhPZigic3RyIikgIT09IDEyMzQ1NiB8fA0KICAgICAgYS5pbmRleE9mKDFFKzMwOSkgIT09IDUgfHwgICAvL0luZmluaXR5DQogICAgICBhLmluZGV4T2YoNS41KSAhPT0gNTU1NSApDQogIHsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgaWYgKGEuaW5kZXhPZih0cnVlKSA9PT0gLTEgJiYgDQogICAgICBhLmluZGV4T2YoNSkgPT09IC0xICYmDQogICAgICBhLmluZGV4T2YoInN0cjEiKSA9PT0gLTEgJiYNCiAgICAgIGEuaW5kZXhPZihudWxsKSA9PT0gLTEgJiYNCiAgICAgIGEuaW5kZXhPZihuZXcgT2JqZWN0KCkpID09PSAtMSkgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBkb2VzIG5vdCBhY2Nlc3MgYW55IG90aGVyIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgdmFyIGYgPSB7bGVuZ3RoOiAwfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIjAiLHtnZXQ6IGZ1bmN0aW9uICgpIHthY2Nlc3NlZCA9IHRydWU7IHJldHVybiAxO319KTsNCg0KICANCiAgdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGYsMSk7DQogIA0KICBpZiAoaSA9PT0gLTEgJiYgYWNjZXNzZWQ9PWZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iak9uZSA9IHsgMTogdHJ1ZSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBvYmpUd28gPSB7IDI6IHRydWUsIGxlbmd0aDogMiB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpPbmUsIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9ialR3bywgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkT25lID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZE9uZVsxXSA9IHRydWU7DQogICAgICAgIHZhciBjaGlsZFR3byA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRUd29bMl0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkT25lLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZFR3bywgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyB1bmRlZmluZWQgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIDE6IHRydWUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCg0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgIGlmIChBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgIT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB7fTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSB0YXJnZXRPYmo7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgPT09IC0xOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbMl0gPSBmYWxzZTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgZmFsc2UpID09PSAtMTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygwLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMyI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChzdHIsICIyIikgPT09IDIgJiYNCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHN0ciwgIjMiKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMV0gPSAiYiI7DQogICAgICAgIG9ialsyXSA9ICJjIjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIG9ialsxXSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCBvYmpbMl0pID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgDQogICAgICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9ial0uaW5kZXhPZih0YXJnZXRPYmopID09PSAxICYmDQogICAgICAgICAgICAgICAgWzAsIDFdLmluZGV4T2YodGFyZ2V0T2JqKSA9PT0gLTE7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyUHJvdG9MZW4gPSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7DQoNCiAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaikgPT09IDE7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGRPbmUgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkT25lWzFdID0gdHJ1ZTsNCiAgICAgICAgdmFyIGNoaWxkVHdvID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFR3b1syXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGRPbmUsIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkVHdvLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmpPbmUgPSB7IDE6IHRydWUgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMjogdHJ1ZSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqT25lLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqVHdvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqVHdvLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMSwgMTogMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBudW1iZXIgcHJpbWl0aXZlICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IDEgJiYNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAidHJ1ZSIsIDI6ICIyIiwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAidHJ1ZSIpID09PSAxICYmDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAiMiIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE5OTogdHJ1ZSwgMjAwOiAiMjAwLjU5IiwgbGVuZ3RoOiAiMjAwLjU5IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE5OSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIyMDAuNTkiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqT25lID0geyAwOiB0cnVlLCAxOiB0cnVlLCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVGhyZWUgPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpPbmUsIHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpUd28sIHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpUaHJlZSwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogIjJFMCIsIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAiMkUwIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IHRydWUsIDExOiAiMHgwMEIiLCBsZW5ndGg6ICIweDAwQiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIweDAwQiIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogIjAwMDIuMCIsIGxlbmd0aDogIjAwMDIuMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgIjAwMDIuMCIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIDEwMDogdHJ1ZSwgbGVuZ3RoOiAib25lIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0cnVlLA0KICAgICAgICAgICAgMjogMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm4gLTEgd2hlbiAnbGVuZ3RoJyBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiB0cnVlIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IDAgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vdmFsdWVPZiBtZXRob2Qgd2lsbCBiZSBpbnZva2VkIGZpcnN0LCBzaW5jZSBoaW50IGlzIE51bWJlcg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIDI6IDIsDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDEyMjogdHJ1ZSwgMTIzOiBmYWxzZSwgbGVuZ3RoOiAxMjMuMzIxIH07IC8vbGVuZ3RoIHdpbGwgYmUgMTIzIGZpbmFsbHkNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxMjIgJiYNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IHRydWUsIDI6IGZhbHNlLCBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUgfTsgLy9sZW5ndGggd2lsbCBiZSAyIGZpbmFsbHkNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk0OiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk1OiB0YXJnZXRPYmosDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogdGFyZ2V0T2JqLA0KICAgICAgICAgICAgMTogNDI5NDk2NzI5NywNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDQyOTQ5NjcyOTcpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdHJ1ZSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDM6IHRydWUsIDQ6IGZhbHNlLCBsZW5ndGg6IDQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAzICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDQ6IHRydWUsIDU6IGZhbHNlLCBsZW5ndGg6IDUgLSBNYXRoLnBvdygyLCAzMikgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSA0ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDApID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpID0gW10uaW5kZXhPZig0Mik7DQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAtNmUtMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAtNmUtMSB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogIiIgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogbnVsbH0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiBmYWxzZX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGdlbmVyaWMgJ2FycmF5JyB3aXRoIGxlbmd0aCAwICkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IDB9LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHtsZW5ndGg6ICcwJ30sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogeyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319fSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggaXMgb2JqZWN0IG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX19LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxlbmd0aCBpcyBhbiBlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHtsZW5ndGg6IFsgXX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgbnVtYmVyIG9mIHZhbHVlIDAuMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAwLjEgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFsxLDIsMSwyLDEsMl07DQogIGlmIChhLmluZGV4T2YoMiwiMiIpID09PSAzICYmICAgICAgICAgIC8vICIyIiByZXNvbHZlcyB0byAyICANCiAgICAgIGEuaW5kZXhPZigyLCJvbmUiKSA9PT0gMSkgeyAgICAgICAvLyAib25lIiByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmluZGV4T2YodGFyZ2V0T2JqLCAyKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmluZGV4T2YodGFyZ2V0T2JqLCAtMSkgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaiwgLTEpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbTWF0aC5wb3coMiwgMzIpIC0gMl0gPSB0cnVlOyAvL2xlbmd0aCBpcyB0aGUgbWF4IHZhbHVlIG9mIFVpbnQgdHlwZQ0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YodHJ1ZSwgSW5maW5pdHkpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIC1JbmZpbml0eSkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIE5hTikgPT09IDAgJiYgW3RydWVdLmluZGV4T2YodHJ1ZSwgLU5hTikgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWUsIDJdLmluZGV4T2YodHJ1ZSwgIi0xIikgPT09IC0xICYmDQogICAgICAgIFswLCAxLCB0cnVlXS5pbmRleE9mKHRydWUsICItMSIpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIEluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbTWF0aC5wb3coMiwgMzIpIC0gMl0gPSB0cnVlOyAvL2xlbmd0aCBpcyB0aGUgbWF4IHZhbHVlIG9mIFVpbnQgdHlwZQ0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YodHJ1ZSwgIkluZmluaXR5IikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIC1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsICItSW5maW5pdHkiKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmosIDMsIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiM0UwIikgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgdGFyZ2V0T2JqLCA0XS5pbmRleE9mKHRhcmdldE9iaiwgIjNFMCIpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmosIDMsIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiMHgwMDAzIikgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgdGFyZ2V0T2JqLCA0XS5pbmRleE9mKHRhcmdldE9iaiwgIjB4MDAwMyIpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBmbG9hdGluZyBwb2ludCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMyk7DQogIGlmIChhLmluZGV4T2YoMywwLjQ5KSA9PT0gMiAmJiAgICAvLyAwLjQ5IHJlc29sdmVzIHRvIDANCiAgICAgIGEuaW5kZXhPZigxLDAuNTEpID09PSAwICYmICAgIC8vIDAuNTEgcmVzb2x2ZXMgdG8gMA0KICAgICAgYS5pbmRleE9mKDEsMS41MSkgPT09IC0xKSB7ICAgLy8gMS4wMSByZXNvbHZlcyB0byAxDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCAxLCB0YXJnZXRPYmosIDMsIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMy4xMCIpID09PSAtMSAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIHRhcmdldE9iaiwgNF0uaW5kZXhPZih0YXJnZXRPYmosICIwMDAzLjEwIikgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBPYmplY3QsIHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBPYmplY3QsIHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmluZGV4T2YodHJ1ZSwgZnJvbUluZGV4KSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFswLCB0cnVlXS5pbmRleE9mKHRydWUsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmluZGV4T2YodHJ1ZSwgY2hpbGQpID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdGVwVHdvT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcFR3b09jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7DQogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiU3RlcCA1IG9jY3VycmVkIG91dCBvZiBvcmRlciIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KICAgICAgICAgICAgcmV0dXJuIHN0ZXBUd29PY2N1cnMgJiYgc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdGVwVGhyZWVPY2N1cnMgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGhyZWVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTdGVwIDUgb2NjdXJyZWQgb3V0IG9mIG9yZGVyIik7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBzdGVwVGhyZWVPY2N1cnMgJiYgc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAxIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFzdGVwRml2ZU9jY3VyczsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQogICAgICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbMSwyLDNdOw0KICBpZiAoYS5pbmRleE9mKDEsdHJ1ZSkgPT09IC0xICYmICAgICAgICAvLyB0cnVlIHJlc29sdmVzIHRvIDENCiAgICAgYS5pbmRleE9mKDEsZmFsc2UpID09PSAwICkgeyAgICAgICAvLyBmYWxzZSByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5pbmRleE9mKHRhcmdldE9iaiwgMi41KSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAyLjUpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5pbmRleE9mKHRhcmdldE9iaiwgLTEuNSkgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaiwgLTEuNSkgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTMzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgbWF0Y2ggb24gdGhlIGZpcnN0IGVsZW1lbnQsIGEgbWlkZGxlIGVsZW1lbnQgYW5kIHRoZSBsYXN0IGVsZW1lbnQgd2hlbiAnZnJvbUluZGV4JyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgMSwgMiwgMywgNF0uaW5kZXhPZigwLCAwKSA9PT0gMCAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmluZGV4T2YoMiwgMSkgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5pbmRleE9mKDIsIDIpID09PSAyICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0uaW5kZXhPZig0LCAyKSA9PT0gNCAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmluZGV4T2YoNCwgNCkgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIDAgaWYgZnJvbUluZGV4IGlzICd1bmRlZmluZWQnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbMSwyLDNdOw0KICBpZiAoYS5pbmRleE9mKDEsdW5kZWZpbmVkKSA9PT0gMCkgeyAgICAvLyB1bmRlZmluZWQgcmVzb2x2ZXMgdG8gMA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIDAgaWYgZnJvbUluZGV4IGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFsxLDIsM107DQogIGlmIChhLmluZGV4T2YoMSxudWxsKSA9PT0gMCApIHsgICAgICAgLy8gbnVsbCByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdmcm9tSW5kZXgnIGlzbid0IHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07DQogICAgICAgIC8vJ2Zyb21JbmRleCcgd2lsbCBiZSBzZXQgYXMgMCBpZiBub3QgcGFzc2VkIGJ5IGRlZmF1bHQNCiAgICAgICAgcmV0dXJuIGFyci5pbmRleE9mKDApID09PSBhcnIuaW5kZXhPZigwLCAwKSAmJg0KICAgICAgICAgICAgYXJyLmluZGV4T2YoMikgPT09IGFyci5pbmRleE9mKDIsIDApICYmDQogICAgICAgICAgICBhcnIuaW5kZXhPZig0KSA9PT0gYXJyLmluZGV4T2YoNCwgMCk7IA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIDApID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCArMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCAtMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmIGZyb21JbmRleCBpcyBncmVhdGVyIHRoYW4gQXJyYXkgbGVuZ3RoDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBbMSwyLDNdOw0KICBpZiAoYS5pbmRleE9mKDEsNSkgPT09IC0xICYmICANCiAgICAgYS5pbmRleE9mKDEsMykgPT09IC0xICAmJg0KICAgICBbIF0uaW5kZXhPZigxLDApID09PSAtMSAgKXsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5pbmRleE9mKDEsIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyBsZW5ndGggb2YgYXJyYXkgLSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmluZGV4T2YoMywgMikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgYW5kICdsZW5ndGgnIGFyZSBib3RoIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbXS5pbmRleE9mKDEsIDApID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5pbmRleE9mKDEsIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmluZGV4T2YoMiwgMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB3aXRoIG5lZ2F0aXZlIGZyb21JbmRleA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwzKTsNCiAgDQogIGlmIChhLmluZGV4T2YoMiwtMSkgPT09IC0xICYmICANCiAgICAgIGEuaW5kZXhPZigyLC0yKSA9PT0gMSAmJiAgDQogICAgICBhLmluZGV4T2YoMSwtMykgPT09IDAgJiYgIA0KICAgICAgYS5pbmRleE9mKDEsLTUuMykgPT09IDAgKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAtMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5pbmRleE9mKDQsIC0xKSA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkgLSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmluZGV4T2YoMSwgLTMpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0uaW5kZXhPZigwLCAtNCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChib29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIHRydWV9fTsNCiAgdmFyIF9mYWxzZSA9IGZhbHNlOw0KICB2YXIgYSA9IFtvYmosInRydWUiLCB1bmRlZmluZWQsMCxfZmFsc2UsbnVsbCwxLCJzdHIiLDAsMSx0cnVlLGZhbHNlLHRydWUsZmFsc2VdOw0KICBpZiAoYS5pbmRleE9mKHRydWUpID09PSAxMCAmJiAgLy9hWzEwXT10cnVlDQogICAgICBhLmluZGV4T2YoZmFsc2UpID09PSA0KSAgICAvL2FbNF0gPV9mYWxzZQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIG5vdGUgdGhhdCBwcmlvciB0byB0aGUgZmluYWxseSBFUzUgZHJhZnQgU2FtZVZhbHVlIHdhcyB1c2VkIGZvciBjb21wYXJpc2lvbnMNCiAqIGFuZCBoZW5jZSBOYU5zIGNvdWxkIGJlIGZvdW5kIHVzaW5nIGluZGV4T2YgKg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBfTmFOID0gTmFOOw0KICB2YXIgYSA9IG5ldyBBcnJheSgiTmFOIix1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gTmFOfX0sImZhbHNlIixfTmFOLE5hTik7DQogIGlmIChhLmluZGV4T2YoTmFOKSA9PT0gLTEpICAvLyBOYU4gaXMgZXF1YWwgdG8gbm90aGluZywgaW5jbHVkaW5nIGl0c2VsZi4NCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB0aGUgbGVuZ3RoIG9mIGl0ZXJhdGlvbiBpc24ndCBjaGFuZ2VkIGJ5IGFkZGluZyBlbGVtZW50cyB0byB0aGUgYXJyYXkgZHVyaW5nIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsyMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbMV0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gMH19Ow0KICB2YXIgb25lID0gMTsNCiAgdmFyIF9mbG9hdCA9IC0oNC8zKTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoZmFsc2UsdW5kZWZpbmVkLG51bGwsIjAiLG9iaiwtMS4zMzMzMzMzMzMzMzMzLCAic3RyIiwtMCx0cnVlLCswLCBvbmUsIDEsMCwgZmFsc2UsIF9mbG9hdCwgLSg0LzMpKTsNCiAgaWYgKGEuaW5kZXhPZigtKDQvMykpID09PSAxNCAmJiAgICAgIC8vIGFbMTRdPV9mbG9hdD09PS0oNC8zKQ0KICAgICAgYS5pbmRleE9mKDApID09PSA3ICAgICAgJiYgICAgICAgLy8gYVs3XSA9ICswLCAwPT09KzANCiAgICAgIGEuaW5kZXhPZigtMCkgPT09IDcgICAgICAmJiAgICAgLy8gYVs3XSA9ICswLCAtMD09PSswDQogICAgICBhLmluZGV4T2YoMSkgPT09IDEwICkgICAgICAgICAgICAvLyBhWzEwXSA9b25lPT09IDENCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX07DQogIHZhciBzekZhbHNlID0gImZhbHNlIjsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoImZhbHNlMSIsdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCwxLG9iaiwwLHN6RmFsc2UsICJmYWxzZSIpOw0KICBpZiAoYS5pbmRleE9mKCJmYWxzZSIpID09PSA4KSAgLy9hWzhdPXN6RmFsc2UNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KHVuZGVmaW5lZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiB1bmRlZmluZWQ7fX07DQogIHZhciBfdW5kZWZpbmVkMSA9IHVuZGVmaW5lZDsNCiAgdmFyIF91bmRlZmluZWQyOw0KICB2YXIgYSA9IG5ldyBBcnJheSh0cnVlLDAsZmFsc2UsbnVsbCwxLCJ1bmRlZmluZWQiLG9iaiwxLF91bmRlZmluZWQyLF91bmRlZmluZWQxLHVuZGVmaW5lZCk7DQogIGlmIChhLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gOCkgLy9hWzhdPV91bmRlZmluZWQyDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChPYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iajEgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajMgPSBvYmoxOw0KICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19LCJmYWxzZSIsb2JqMixvYmoxLG9iajMpOw0KICBpZiAoYS5pbmRleE9mKG9iajMpID09PSA4KSAgLy9hWzhdID0gb2JqMTsNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KG51bGwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gbnVsbH19Ow0KICB2YXIgX251bGwgPSBudWxsOw0KICB2YXIgYSA9IG5ldyBBcnJheSh0cnVlLHVuZGVmaW5lZCwwLGZhbHNlLF9udWxsLDEsInN0ciIsMCwxLG9iaix0cnVlLGZhbHNlLG51bGwpOw0KICBpZiAoYS5pbmRleE9mKG51bGwpID09PSA0ICkgIC8vYVs0XT1fbnVsbA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChzZWxmIHJlZmVyZW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgwLDEsMiwzKTsgIA0KICBhWzJdID0gYTsNCiAgaWYgKGEuaW5kZXhPZihhKSA9PT0gMiAmJiAgDQogICAgICBhLmluZGV4T2YoMykgPT09IDMgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChBcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IG5ldyBBcnJheSgiMCwxIik7ICANCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCxiLCIwLDEiLDMpOyAgDQogIGlmIChhLmluZGV4T2YoYi50b1N0cmluZygpKSA9PT0gMiAmJiAgDQogICAgICBhLmluZGV4T2YoIjAsMSIpID09PSAyICkgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChTcGFyc2UgQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxKTsgIA0KICBhWzQyOTQ5NjcyOTRdID0gMjsgICAgICAgICAgLy8gMl4zMi0yIC0gaXMgbWF4IGFycmF5IGVsZW1lbnQNCiAgYVs0Mjk0OTY3Mjk1XSA9IDM7ICAgICAgICAgIC8vIDJeMzItMSBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQ0KICBhWzQyOTQ5NjcyOTZdID0gNDsgICAgICAgICAgLy8gMl4zMiAgIGFkZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5DQogIGFbNDI5NDk2NzI5N10gPSA1OyAgICAgICAgICAvLyAyXjMyKzEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkNCg0KICAvLyBzdGFydCBzZWFyY2hpbmcgbmVhciB0aGUgZW5kIHNvIGluIGNhc2UgaW1wbGVtZW50YXRpb24gYWN0dWFsbHkgdHJpZXMgdG8gdGVzdCBhbGwgbWlzc2luZyBlbGVtZW50cyEhDQogIHJldHVybiAoYS5pbmRleE9mKDIsNDI5NDk2NzI5MCApID09PSA0Mjk0OTY3Mjk0ICYmICAgIA0KICAgICAgYS5pbmRleE9mKDMsNDI5NDk2NzI5MCkgPT09IC0xICYmICAgDQogICAgICBhLmluZGV4T2YoNCw0Mjk0OTY3MjkwKSA9PT0gLTEgJiYgIA0KICAgICAgYS5pbmRleE9mKDUsNDI5NDk2NzI5MCkgPT09IC0xICAgKSA7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzJdID0gImxlbmd0aCI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgImxlbmd0aCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoNi45OSkgPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgNi45OSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2YoIjYuOTkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2YoMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDA6IDAsIDE6IDExMSwgMjogMiwgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExLCAyXTsgDQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIDEgPT09IGFyci5pbmRleE9mKDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAibGFzdCJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2YoImxhc3QiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMiA9PT0gYXJyLmluZGV4T2YoInByb3RvdHlwZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIDIgPT09IGFyci5pbmRleE9mKCJ1bmNvbmZpZ3VyYWJsZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAzMCB9Ow0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzRdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICANCiAgICAgICAgcmV0dXJuIDQgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJyLCB0YXJnZXRPYmosIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnIubGVuZ3RoID0gMzA7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIDQgPT09IGFyci5pbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIDYuOTkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyAxMDogZmFsc2UsIGxlbmd0aDogMzAgfTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMTBdOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIGZhbHNlLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyclsxMF0gPSAiMTAiOw0KICAgICAgICBhcnIubGVuZ3RoID0gMjA7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzEwXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IGFyci5pbmRleE9mKCIxMCIsIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIDEpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgNi45OSkgPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gbm9uLWV4aXN0ZW50IHByb3BlcnR5IHdvdWxkbid0IGJlIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCAsIDJdLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDApID09PSAwICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAwKSAmJg0KICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDEpICYmDQogICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBhcnIuaW5kZXhPZih0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBhcnIuaW5kZXhPZih0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCAsICwgXS5pbmRleE9mKDEwKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmluZGV4T2YoMjApICYmIA0KICAgICAgICAgICAgICAgIDIgPT09IFssICwgLCBdLmluZGV4T2YoMzApOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07IA0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDMwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgMTApICYmDQogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAyMCkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIDMwKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5pbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBbdHJ1ZSwgdHJ1ZSwgdHJ1ZV0uaW5kZXhPZih0cnVlKSA9PT0gMCAmJg0KICAgICAgICAgICAgW2ZhbHNlLCB0cnVlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAxICYmDQogICAgICAgICAgICBbZmFsc2UsIGZhbHNlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdW5kZWZpbmVkKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCBdLmluZGV4T2YodW5kZWZpbmVkKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAxIH0sIHVuZGVmaW5lZCk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gVGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzEwMF0gPSAiMTAwIjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMjAwXSA9ICIyMDAiOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyMDA7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopICYmDQogICAgICAgICAgICAgICAgMTAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIxMDAiKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIyMDAiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMTAwXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzIwMF07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCiAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYyh0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgdG8gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCiAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMV0pICYmDQogICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1syXSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1swXSkgJiYNCiAgICAgICAgICAgIDMgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbM10pICYmDQogICAgICAgICAgICAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1s0XSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgZmFsc2UsIDAsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2lkZS1lZmZlY3RzIGFyZSB2aXNpYmxlIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaW5kZXhPZih0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2lkZS1lZmZlY3RzIGFyZSB2aXNpYmxlIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIHJldHVybiBbdHJ1ZV0uaW5kZXhPZih0cnVlKSA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVybWluYXRlcyBpdGVyYXRpb24gb24gdW5oYW5kbGVkIGV4Y2VwdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIuaW5kZXhPZih0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdGVybWluYXRlcyBpdGVyYXRpb24gb24gdW5oYW5kbGVkIGV4Y2VwdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgMDogdHJ1ZSwgMTogMSwgbGVuZ3RoOiAyIH0sIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gW3RydWVdLmluZGV4T2YodHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IDA6IHRydWUsIDE6IDEsIGxlbmd0aDogMiB9LCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gZmFsc2U7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0uaW5kZXhPZih0cnVlKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmluZGV4T2YoZmFsc2UpICYmDQogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0uaW5kZXhPZigidHJ1ZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IGZhbHNlOw0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsyXSA9ICJ0cnVlIjsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIHRydWUpICYmDQogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCBmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sICJ0cnVlIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMCkgPT09IDAgJiYgYXJyLmluZGV4T2YoMSkgPT09IDEgJiYgYXJyLmluZGV4T2YoMikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdHlwZSBvZiBhcnJheSBlbGVtZW50IGlzIGRpZmZlcmVudCBmcm9tIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbInRydWUiXS5pbmRleE9mKHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgWyIwIl0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtmYWxzZV0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt1bmRlZmluZWRdLmluZGV4T2YoMCkgPT09IC0xICYmDQogICAgICAgICAgICBbbnVsbF0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtbXV0uaW5kZXhPZigwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIEJvb2xlYW4gdHlwZSwgYW5kIHRoZXkgaGF2ZSBzYW1lIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIE9iamVjdCB0eXBlLCBhbmQgdGhleSByZWZlciB0byB0aGUgc2FtZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmoxID0ge307DQogICAgICAgIHZhciBvYmoyID0ge307DQogICAgICAgIHZhciBvYmozID0gb2JqMjsNCiAgICAgICAgcmV0dXJuIFt7fSwgb2JqMSwgb2JqMl0uaW5kZXhPZihvYmozKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCB0eXBlIG9mIGFycmF5IGVsZW1lbnQgYW5kIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQgYXJlIFVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt1bmRlZmluZWRdLmluZGV4T2YoKSA9PT0gMCAmJiBbdW5kZWZpbmVkXS5pbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCB0eXBlIG9mIGFycmF5IGVsZW1lbnQgYW5kIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQgYXJlIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbbnVsbF0uaW5kZXhPZihudWxsKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2VhcmNoIGVsZW1lbnQgaXMgTmFODQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWytOYU4sIE5hTiwgLU5hTl0uaW5kZXhPZihOYU4pID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gc2VhcmNoIGVsZW1lbnQgaXMgLU5hTg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsrTmFOLCBOYU4sIC1OYU5dLmluZGV4T2YoLU5hTikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYXJyYXkgZWxlbWVudCBpcyArMCBhbmQgc2VhcmNoIGVsZW1lbnQgaXMgLTANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbKzBdLmluZGV4T2YoLTApID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYXJyYXkgZWxlbWVudCBpcyAtMCBhbmQgc2VhcmNoIGVsZW1lbnQgaXMgKzANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbLTBdLmluZGV4T2YoKzApID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgTnVtYmVyLCBhbmQgdGhleSBoYXZlIHNhbWUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbLTEsIDAsIDFdLmluZGV4T2YoMSkgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgU3RyaW5nLCBhbmQgdGhleSBoYXZlIGV4YWN0bHkgdGhlIHNhbWUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsiIiwgImFiIiwgImJjYSIsICJhYmMiXS5pbmRleE9mKCJhYmMiKSA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHJldHVybnMgaW5kZXggb2YgbGFzdCBvbmUgd2hlbiBtb3JlIHRoYW4gdHdvIGVsZW1lbnRzIGluIGFycmF5IGFyZSBlbGlnaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAyLCAxLCAyXS5pbmRleE9mKDIpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE0LzE1LjQuNC4xNC05LWItaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHJldHVybnMgd2l0aG91dCB2aXNpdGluZyBzdWJzZXF1ZW50IGVsZW1lbnQgb25jZSBzZWFyY2ggdmFsdWUgaXMgZm91bmQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsICwgMSwgMl07DQogICAgICAgIHZhciBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZWxlbWVudEZpZnRoQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGVsZW1lbnRUaGlyZEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICI0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZWxlbWVudEZpZnRoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuaW5kZXhPZigyKTsNCiAgICAgICAgcmV0dXJuICFlbGVtZW50VGhpcmRBY2Nlc3NlZCAmJiAhZWxlbWVudEZpZnRoQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Y7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgaGFzIGEgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwodW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIE1hdGhbMV0gPSAxMDA7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoTWF0aCwgMTAwKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoImFmZGFzZiIpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTAwOw0KICAgICAgICBvYmpbMV0gPSAiYWZkYXNmIjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAiYWZkYXNmIikgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OWzNdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSA1Ow0KICAgICAgICAgICAgcmV0dXJuIDMgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKEpTT04sIHRhcmdldE9iaik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTlszXTsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSBJbmZpbml0eTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBJbmZpbml0eSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gWyJnbG9iYWwiXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzFdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMV0gPSBpc05hTjsNCiAgICAgICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKDUsIGlzTmFOKTsNCiAgICAgICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMyk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoImFiYyIsICJjIikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgImYiKSA9PT0gNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDE6IG51bGwsIDI6IHVuZGVmaW5lZCwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgbnVsbCkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAxOw0KICAgICAgICBjaGlsZFsyXSA9IDI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCAxKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAxOiAxIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgdW5kZWZpbmVkIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiBudWxsLCAxOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBudWxsKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBpZiAoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKSAhPT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHt9Ow0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IHRhcmdldE9iajsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgPT09IC0xOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgdGFyZ2V0T2JqKSA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzJdKSA9PT0gLTE7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgdGFyZ2V0T2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZVszXSA9ICIzIjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChzdHIsICIyIikgPT09IDIgJiYNCiAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChzdHIsICIzIikgPT09IC0xOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9ICJiIjsNCiAgICAgICAgb2JqWzJdID0gImMiOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG9ialsxXSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgb2JqWzJdKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IHRhcmdldE9iajsNCg0KICAgICAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaikgPT09IDEgJiYNCiAgICAgICAgICAgICAgICBbMCwgMV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge2xlbmd0aDogMH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFsxXSA9IGNoaWxkOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgY2hpbGQpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCiAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCAyXS5sYXN0SW5kZXhPZih0YXJnZXRPYmopID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMV0gPSBudWxsOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgbnVsbCkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzFdID0gIngiOw0KICAgICAgICBjaGlsZFsyXSA9ICJ5IjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsICJ4IikgPT09IDEgJiYNCiAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgInkiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IHRydWUsIDI6IGZhbHNlIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFsxXSA9IGV2YWw7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgZXZhbCkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzFdID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogTmFOIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7MTogdHJ1ZSwgMjogZmFsc2UsIGxlbmd0aDogIjIifTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7MTogbnVsbCwgMjogdW5kZWZpbmVkLCBsZW5ndGg6ICItNDI5NDk2NzI5NCJ9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG51bGwpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyA0OiA0LCA1OiA1LCBsZW5ndGg6ICI1LjUxMjM0NSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA0KSA9PT0gNCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA1KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iak9uZSA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmpUd28gPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialRocmVlID0geyAwOiB0cnVlLCAxOiB0cnVlLCBsZW5ndGg6ICItSW5maW5pdHkiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IC0xICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmpUd28sIHRydWUpID09PSAtMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqVGhyZWUsIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7MjI5OiAyMjksIDIzMDogMi4zRTIsIGxlbmd0aDogIjIuM0UyIn07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMjI5KSA9PT0gMjI5ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIuM0UyKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgd2hpY2ggaXMgYWJsZSB0byBiZSBjb252ZXJ0ZWQgaW50byBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAyNTczOiAyNTczLCAyNTc0OiAweDAwMEEwRSwgbGVuZ3RoOiAiMHgwMDBBMEUiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMjU3MykgPT09IDI1NzMgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMHgwMDBBMEUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogIjAwMDIuMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IG5ldyBTdHJpbmcoIjEyM2FiYzEyMyIpOw0KICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRPYmosIGxlbmd0aDogIjEyM2FiYzEyMyIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdGFyZ2V0T2JqLA0KICAgICAgICAgICAgMjogMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJuIC0xIHdoZW4gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogdHJ1ZSB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vdmFsdWVPZiBtZXRob2Qgd2lsbCBiZSBpbnZva2VkIGZpcnN0LCBzaW5jZSBoaW50IGlzIE51bWJlcg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIDI6IDIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHRoaXM7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0YXJnZXRPYmosDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICczJzsNCiAgICAgICAgICAgICAgICB9LA0KDQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IDEgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogdHJ1ZSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBhbiBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IGNoaWxkLA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGNoaWxkKSA9PT0gMSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxMjI6IHRydWUsIDEyMzogZmFsc2UsIGxlbmd0aDogMTIzLjUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTIyICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiB0cnVlLCAyOiBmYWxzZSwgbGVuZ3RoOiAtNDI5NDk2NzI5NC41IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk0OiB0YXJnZXRPYmosDQogICAgICAgICAgICA0Mjk0OTY3Mjk1OiB0YXJnZXRPYmosDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsgLy92ZXJpZnkgbGVuZ3RoIGlzIDAgZmluYWxseQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogdGFyZ2V0T2JqLA0KICAgICAgICAgICAgMTogNDI5NDk2NzI5NywNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IDAgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgNDI5NDk2NzI5NykgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6ICJ1bmRlZmluZWQiLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAidW5kZWZpbmVkIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiB0cnVlLCBsZW5ndGg6IC0wIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiArMCwgbGVuZ3RoOiArMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosICswKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgYSBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyA5OTogdHJ1ZSwgMTAwOiAxMDAsIGxlbmd0aDogMTAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDk5ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEwMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgYSBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyA0OiAtSW5maW5pdHksIDU6IEluZmluaXR5LCBsZW5ndGg6IDUgLSBNYXRoLnBvdygyLCAzMikgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAtSW5maW5pdHkpID09PSA0ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIEluZmluaXR5KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IEluZmluaXR5IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgaSA9IFtdLmxhc3RJbmRleE9mKDQyKTsNCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYSBudW1iZXIgb2YgdmFsdWUgLTZlLTENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogLTZlLTEgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2xlbmd0aCcgaXMgYW4gZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IFtdOw0KICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRPYmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6ICIiIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiBudWxsfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IGZhbHNlfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChnZW5lcmljICdhcnJheScgd2l0aCBsZW5ndGggMCApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiAwfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogJzAnfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX19LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwICggbGVuZ3RoIGlzIG9iamVjdCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIChsZW5ndGggaXMgYW4gZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogWyBdfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAwLjENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogMC4xIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigxLCIxIikgPT09IDEgJiYgICAgICAgICAgLy8gIjEiIHJlc29sdmVzIHRvIDENCiAgICAgIGEubGFzdEluZGV4T2YoMSwib25lIikgPT09IC0xKSB7ICAgICAgIC8vIE5hTiBzdHJpbmcgcmVzb2x2ZXMgdG8gMA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIDEuNSkgPT09IDEgJiYNCiAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgMS41KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAxICYmDQogICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gbnVsbDsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YobnVsbCwgSW5maW5pdHkpID09PSAoTWF0aC5wb3coMiwgMzIpIC0gMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgLUluZmluaXR5KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgTmFOKSA9PT0gLTEgJiYgLy8gZnJvbSBJbmRleCB3aWxsIGJlIGNvbnZlcnQgdG8gKzANCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCBOYU4pID09PSAwICYmDQogICAgICAgICAgICBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgLU5hTikgPT09IC0xICYmDQogICAgICAgICAgICBbdHJ1ZSwgMF0ubGFzdEluZGV4T2YodHJ1ZSwgLU5hTikgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCAiLTIiLCAyXS5sYXN0SW5kZXhPZigiLTIiLCAiLTIiKSA9PT0gMSAmJg0KICAgICAgICAgICAgWzAsIDIsICItMiJdLmxhc3RJbmRleE9mKCItMiIsICItMiIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBJbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyW01hdGgucG93KDIsIDMyKSAtIDJdID0gdHJ1ZTsgLy8gbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YodHJ1ZSwgIkluZmluaXR5IikgPT09IChNYXRoLnBvdygyLCAzMikgLSAyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyAtSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgIi1JbmZpbml0eSIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgTmFOLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIyRTAiKSA9PT0gMiAmJg0KICAgICAgICAgICAgWzAsIE5hTiwgMywgdGFyZ2V0T2JqLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMkUwIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMHgwMDAyIikgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCB0cnVlLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIweDAwMDIiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgZmxvYXRpbmcgcG9pbnQgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigyLDEuNDkpID09PSAxICYmICAgIC8vIDEuNDkgcmVzb2x2ZXMgdG8gMQ0KICAgICAgYS5sYXN0SW5kZXhPZigyLDAuNTEpID09PSAtMSAmJiAgICAvLyAwLjUxIHJlc29sdmVzIHRvIDANCiAgICAgIGEubGFzdEluZGV4T2YoMSwwLjUxKSA9PT0gMCl7ICAgICAgLy8gMC41MSByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMi4xMCIpID09PSAyICYmDQogICAgICAgICAgICBbMCwgdHJ1ZSwgMywgdGFyZ2V0T2JqLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAiMDAwMi4xMCIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYW4gT2JqZWN0LCBhbmQgaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kIGZyb20gT2JqZWN0DQogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogICAgICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCkgPT09IDIgJiYNCiAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgd2hpY2ggaXMgYW4gb2JqZWN0LCBhbmQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgdGFyZ2V0T2JqLCAzLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCBmcm9tSW5kZXgpID09PSAyICYmDQogICAgICAgIFswLCB0cnVlLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIGZyb21JbmRleCkgPT09IDEgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYW4gb2JqZWN0IHRoYXQgYm90aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYW4gZG9uJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgWzAsIG51bGxdLmxhc3RJbmRleE9mKG51bGwsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHVzZSBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIGNoaWxkKSA9PT0gMSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwVHdvT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBUd29PY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIGlmIChzdGVwRml2ZU9jY3Vycykgew0KICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlN0ZXAgNSBvY2N1cnJlZCBvdXQgb2Ygb3JkZXIiKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gc3RlcFR3b09jY3VycyAmJiBzdGVwRml2ZU9jY3VyczsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwVGhyZWVPY2N1cnMgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGhyZWVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTdGVwIDUgb2NjdXJyZWQgb3V0IG9mIG9yZGVyIik7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gc3RlcFRocmVlT2NjdXJzICYmIHN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMSBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwodW5kZWZpbmVkLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwxKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMix0cnVlKSA9PT0gMSAmJiAgICAgICAgLy8gdHJ1ZSByZXNvbHZlcyB0byAxDQogICAgIGEubGFzdEluZGV4T2YoMixmYWxzZSkgPT09IC0xICkgeyAgICAgIC8vIGZhbHNlIHJlc29sdmVzIHRvIDANCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdGVwRml2ZU9jY3VycyA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2Zyb21JbmRleCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgdmVyaWZ5IHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAxLjUpID09PSAxICYmDQogICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIDEuNSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gJ2Zyb21JbmRleCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgdmVyaWZ5IHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgdHJ1ZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAtMi41KSA9PT0gMSAmJg0KICAgICAgICAgICAgWzAsIHRydWUsIHRhcmdldE9ial0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAtMi41KSA9PT0gLTE7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTMzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gbWF0Y2ggb24gdGhlIGZpcnN0IGVsZW1lbnQsIGEgbWlkZGxlIGVsZW1lbnQgYW5kIHRoZSBsYXN0IGVsZW1lbnQgd2hlbiAnZnJvbUluZGV4JyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMCwgMCkgPT09IDAgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigwLCAyKSA9PT0gMCAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDIsIDIpID09PSAyICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMiwgNCkgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZig0LCA0KSA9PT0gNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigyLHVuZGVmaW5lZCkgPT09IC0xICYmDQogICAgICBhLmxhc3RJbmRleE9mKDEsdW5kZWZpbmVkKSA9PT0gMCAgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoMSkgPT09IDIpICAgeyAgICAvLyB1bmRlZmluZWQgcmVzb2x2ZXMgdG8gMCwgbm8gc2Vjb25kIGFyZ3VtZW50IHJlc29sdmVzIHRvIGxlbg0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwxKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMixudWxsKSA9PT0gLTEgJiYgYS5sYXN0SW5kZXhPZigxLG51bGwpID09PSAwKSB7ICAgICAgIC8vIG51bGwgcmVzb2x2ZXMgdG8gMA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiAnZnJvbUluZGV4JyBpc24ndCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDRdOw0KICAgICAgICAvLydmcm9tSW5kZXgnIHdpbGwgYmUgc2V0IGFzIDQgaWYgbm90IHBhc3NlZCBieSBkZWZhdWx0DQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMCkgPT09IGFyci5sYXN0SW5kZXhPZigwLCA0KSAmJg0KICAgICAgICAgICAgYXJyLmxhc3RJbmRleE9mKDIpID09PSBhcnIubGFzdEluZGV4T2YoMiwgNCkgJiYNCiAgICAgICAgICAgIGFyci5sYXN0SW5kZXhPZig0KSA9PT0gYXJyLmxhc3RJbmRleE9mKDQsIDQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgMTAwXS5sYXN0SW5kZXhPZigxMDAsIDApID09PSAtMSAmJiAvLyB2ZXJpZnkgZnJvbUluZGV4IGlzIG5vdCBtb3JlIHRoYW4gMA0KICAgICAgICAgICAgWzIwMCwgMF0ubGFzdEluZGV4T2YoMjAwLCAwKSA9PT0gMDsgLy8gdmVyaWZ5IGZyb21JbmRleCBpcyBub3QgbGVzcyB0aGFuIDANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsICswKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCArMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWVdLmxhc3RJbmRleE9mKHRydWUsIC0wKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCAtMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2hlbiBmcm9tSW5kZXggZ3JlYXRlciB0aGFuIEFycmF5Lmxlbmd0aA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwzKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMyw1LjQpID09PSAyICYmICANCiAgICAgYS5sYXN0SW5kZXhPZigzLDMuMSkgPT09IDIgKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigzLCAyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGlzIGxlbmd0aCBvZiBhcnJheSAtIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGFuZCAnbGVuZ3RoJyBhcmUgYm90aCAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW10ubGFzdEluZGV4T2YoMSwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuICdmcm9tSW5kZXgnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgM10ubGFzdEluZGV4T2YoMywgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS02LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcgaXMgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigyLCAxKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Ygd2l0aCBuZWdhdGl2ZSBmcm9tSW5kZXggDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDMpOw0KICANCiAgaWYgKGEubGFzdEluZGV4T2YoMiwtMikgPT09IDEgJiYgIA0KICAgICAgYS5sYXN0SW5kZXhPZigyLC0zKSA9PT0gLTEgJiYgIA0KICAgICAgYS5sYXN0SW5kZXhPZigxLC01LjMpID09PSAtMSApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBjb3JyZWN0IGluZGV4IHdoZW4gJ2Zyb21JbmRleCcgaXMgLTENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoNCwgLTEpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuIGFicygnZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigzLCAtMykgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSB3aGVuIGFicygnZnJvbUluZGV4JykgaXMgbGVuZ3RoIG9mIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDIsIC00KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChib29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIHRydWV9fTsNCiAgdmFyIF9mYWxzZSA9IGZhbHNlOw0KICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx0cnVlLGZhbHNlLG9iaixfZmFsc2UsdHJ1ZSwidHJ1ZSIsIHVuZGVmaW5lZCwwLG51bGwsMSwic3RyIiwwLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gNSAmJiAgLy9hWzVdPXRydWUNCiAgICAgIGEubGFzdEluZGV4T2YoZmFsc2UpID09PSA0KSAgICAvL2FbNF0gPV9mYWxzZQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIG5vdGUgdGhhdCBwcmlvciB0byB0aGUgZmluYWxseSBFUzUgZHJhZnQgU2FtZVZhbHVlIHdhcyB1c2VkIGZvciBjb21wYXJpc2lvbnMNCiAqIGFuZCBoZW5jZSBOYU5zIGNvdWxkIGJlIGZvdW5kIHVzaW5nIGxhc3RJbmRleE9mICoNCiAqDQogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xNS8xNS40LjQuMTUtOC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIF9OYU4gPSBOYU47DQogIHZhciBhID0gbmV3IEFycmF5KCJOYU4iLF9OYU4sTmFOLCB1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gTmFOfX0sImZhbHNlIik7DQogIGlmIChhLmxhc3RJbmRleE9mKE5hTikgPT09IC0xKSAgLy8gTmFOIG1hdGNoZXMgbm90aGluZywgbm90IGV2ZW4gaXRzZWxmDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdGhlIGxlbmd0aCBvZiBpdGVyYXRpb24gaXNuJ3QgY2hhbmdlZCBieSBhZGRpbmcgZWxlbWVudHMgdG8gdGhlIGFycmF5IGR1cmluZyBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMjBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzFdID0gMTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZigxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gMH19Ow0KICB2YXIgb25lID0gMTsNCiAgdmFyIF9mbG9hdCA9IC0oNC8zKTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKzAsdHJ1ZSwwLC0wLCBmYWxzZSx1bmRlZmluZWQsbnVsbCwiMCIsb2JqLCBfZmxvYXQsLSg0LzMpLC0xLjMzMzMzMzMzMzMzMzMsInN0ciIsb25lLCAxLCBmYWxzZSk7DQogIGlmIChhLmxhc3RJbmRleE9mKC0oNC8zKSkgPT09IDEwICYmICAgICAgLy8gYVsxMF09LSg0LzMpDQogICAgICBhLmxhc3RJbmRleE9mKDApID09PSAzICAgICAgICYmICAgICAgIC8vIGFbM10gPSAtMCwgYnV0IHVzaW5nID09PSAtMCBhbmQgMCBhcmUgZXF1YWwNCiAgICAgIGEubGFzdEluZGV4T2YoLTApID09PTMgICAgICAgJiYgICAgICAvLyBhWzNdID0gLTANCiAgICAgIGEubGFzdEluZGV4T2YoMSkgPT09IDE0ICkgICAgICAgICAgICAvLyBhWzE0XSA9IDENCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChzdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19Ow0KICB2YXIgc3pGYWxzZSA9ICJmYWxzZSI7DQogIHZhciBhID0gbmV3IEFycmF5KHN6RmFsc2UsICJmYWxzZSIsImZhbHNlMSIsdW5kZWZpbmVkLDAsZmFsc2UsbnVsbCwxLG9iaiwwKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoImZhbHNlIikgPT09IDEpIA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCh1bmRlZmluZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gdW5kZWZpbmVkO319Ow0KICB2YXIgX3VuZGVmaW5lZDEgPSB1bmRlZmluZWQ7DQogIHZhciBfdW5kZWZpbmVkMjsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoX3VuZGVmaW5lZDEsX3VuZGVmaW5lZDIsdW5kZWZpbmVkLHRydWUsMCxmYWxzZSxudWxsLDEsInVuZGVmaW5lZCIsb2JqLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAyKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChPYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iajEgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIG9iajMgPSBvYmoxOw0KICB2YXIgYSA9IG5ldyBBcnJheShvYmoyLG9iajEsb2JqMyxmYWxzZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19LCJmYWxzZSIpOw0KICBpZiAoYS5sYXN0SW5kZXhPZihvYmozKSA9PT0gMikgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleChudWxsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIG51bGx9fTsNCiAgdmFyIF9udWxsID0gbnVsbDsNCiAgdmFyIGEgPSBuZXcgQXJyYXkodHJ1ZSx1bmRlZmluZWQsMCxmYWxzZSxudWxsLDEsInN0ciIsMCwxLG51bGwsdHJ1ZSxmYWxzZSx1bmRlZmluZWQsX251bGwsIm51bGwiLHVuZGVmaW5lZCwic3RyIixvYmopOw0KICBpZiAoYS5sYXN0SW5kZXhPZihudWxsKSA9PT0gMTMgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoc2VsZiByZWZlcmVuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxLDIsMyk7ICANCiAgYVsyXSA9IGE7DQogIGlmIChhLmxhc3RJbmRleE9mKGEpID09PSAyICYmICANCiAgICAgIGEubGFzdEluZGV4T2YoMykgPT09IDMgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBuZXcgQXJyYXkoIjAsMSIpOyAgDQogIHZhciBhID0gbmV3IEFycmF5KDAsYiwiMCwxIiwzKTsgIA0KICBpZiAoYS5sYXN0SW5kZXhPZihiLnRvU3RyaW5nKCkpID09PSAyICYmICANCiAgICAgIGEubGFzdEluZGV4T2YoIjAsMSIpID09PSAyICkgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgbXVzdCByZXR1cm4gY29ycmVjdCBpbmRleCAoU3BhcnNlIEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDAsMSk7ICANCiAgYVs0Mjk0OTY3Mjk0XSA9IDI7ICAgICAgICAgIC8vIDJeMzItMiAtIGlzIG1heCBhcnJheSBlbGVtZW50IGluZGV4DQogIGFbNDI5NDk2NzI5NV0gPSAzOyAgICAgICAgICAvLyAyXjMyLTEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkNCiAgYVs0Mjk0OTY3Mjk2XSA9IDQ7ICAgICAgICAgIC8vIDJeMzIgICBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQ0KICBhWzQyOTQ5NjcyOTddID0gNTsgICAgICAgICAgLy8gMl4zMisxIGFkZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5DQogIC8vIHN0b3Agc2VhcmNoaW5nIG5lYXIgdGhlIGVuZCBpbiBjYXNlIGltcGxlbWVudGF0aW9uIGFjdHVhbGx5IHRyaWVzIHRvIHRlc3QgYWxsIG1pc3NpbmcgZWxlbWVudHMhIQ0KICBhWzQyOTQ5NjcyMDBdID0gMzsgICAgICAgICAgDQogIGFbNDI5NDk2NzIwMV0gPSA0OyAgICAgICAgIA0KICBhWzQyOTQ5NjcyMDJdID0gNTsgICAgICAgICANCg0KDQogIHJldHVybiAoYS5sYXN0SW5kZXhPZigyKSA9PT0gNDI5NDk2NzI5NCAmJiAgICANCiAgICAgIGEubGFzdEluZGV4T2YoMykgPT09IDQyOTQ5NjcyMDAgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoNCkgPT09IDQyOTQ5NjcyMDEgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoNSkgPT09IDQyOTQ5NjcyMDIpIDsNCiAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyclsyXSA9ICJsZW5ndGgiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCAibGVuZ3RoIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZig2Ljk5KSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIwMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxMDAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgNi45OSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDMsIDRdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IGFyci5sYXN0SW5kZXhPZigiNi45OSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDI6IDIsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmxhc3RJbmRleE9mKDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgMDogMCwgMTogMTExLCAyOiAyLCBsZW5ndGg6IDEwIH07DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTEsIDJdOyANCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gYXJyLmxhc3RJbmRleE9mKDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0IiwgNF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBhcnIubGFzdEluZGV4T2YoImxhc3QiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDRdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAyID09PSBhcnIubGFzdEluZGV4T2YoInByb3RvdHlwZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAgZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIDIgPT09IGFyci5sYXN0SW5kZXhPZigidW5jb25maWd1cmFibGUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDMwIH07DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICANCiAgICAgICAgcmV0dXJuIDQgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgdGFyZ2V0T2JqLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyci5sZW5ndGggPSAzMDsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFycls0XSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIDQgPT09IGFyci5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDI6IDYuOTkgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDYuOTkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDEwOiBmYWxzZSwgbGVuZ3RoOiAzMCB9Ow0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxMF07DQogICAgICAgICAgICAgICAgcmV0dXJuIDE1Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCBmYWxzZSwgZnJvbUluZGV4KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGVkIHByb3BlcnRpZXMgb2Ygc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyWzEwXSA9ICIxMCI7DQogICAgICAgIGFyci5sZW5ndGggPSAyMDsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMTBdOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IGFyci5sYXN0SW5kZXhPZigiMTAiLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiA4IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIDEpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiA5IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIEluZmluaXR5KSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHVuZGVmaW5lZCBwcm9wZXJ0eSB3b3VsZG4ndCBiZSBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgLCAyXS5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApID09PSAwICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApICYmDQogICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpICYmDQogICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gZmFsc2U7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gYXJyLmxhc3RJbmRleE9mKHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsgDQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gZmFsc2U7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gYXJyLmxhc3RJbmRleE9mKHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMTApICYmDQogICAgICAgICAgICAgICAgMSA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMjApICYmDQogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YoMzApOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAxMCkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAyMCkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAzMCk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDEgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KDApICYmIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gW3RydWUsIHRydWUsIHRydWVdLmxhc3RJbmRleE9mKHRydWUpID09PSAyICYmDQogICAgICAgICAgICBbdHJ1ZSwgdHJ1ZSwgZmFsc2VdLmxhc3RJbmRleE9mKHRydWUpID09PSAxICYmDQogICAgICAgICAgICBbdHJ1ZSwgZmFsc2UsIGZhbHNlXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFssIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBhcnIubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gWywgXS5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAwOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6IDEgfSwgdW5kZWZpbmVkKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIFRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxMDBdID0gIjEwMCI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzIwMF0gPSAiMjAwIjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjAwOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgJiYNCiAgICAgICAgICAgICAgICAxMDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIxMDAiKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCAiMjAwIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzEwMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyMDBdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1sxXSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmModHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIHRvIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1syXSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIDIgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgICAgIDMgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzNdKSAmJg0KICAgICAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1s0XSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMCwgYXJndW1lbnRzLCAwLCBPYmplY3QucHJvdG90eXBlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNpZGUtZWZmZWN0cyBhcmUgdmlzaWJsZSBpbiBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNpZGUtZWZmZWN0cyBhcmUgdmlzaWJsZSBpbiBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gT2JqZWN0Ow0KICAgICAgICAgICAgcmV0dXJuIFtPYmplY3QucHJvdG90eXBlXS5sYXN0SW5kZXhPZihPYmplY3QucHJvdG90eXBlKSA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5sYXN0SW5kZXhPZih0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gZmFsc2U7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyAwOiB0cnVlLCAxOiAxLCBsZW5ndGg6IDIgfSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IFtOdW1iZXJdLmxhc3RJbmRleE9mKE51bWJlcik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgMDogdHJ1ZSwgMTogMSwgbGVuZ3RoOiAyIH0sIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gZmFsc2U7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gWywgLCAsIF0ubGFzdEluZGV4T2YodHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZihmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZigidHJ1ZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMl0gPSAidHJ1ZSI7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgdHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCBmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAidHJ1ZSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAsIF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YoMCkgPT09IDAgJiYgYXJyLmxhc3RJbmRleE9mKDEpID09PSAxICYmIGFyci5sYXN0SW5kZXhPZigyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBpcyBkaWZmZXJlbnQgZnJvbSB0eXBlIG9mIHNlYXJjaCBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWyJ0cnVlIl0ubGFzdEluZGV4T2YodHJ1ZSkgPT09IC0xICYmDQogICAgICAgICAgICBbIjAiXS5sYXN0SW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtmYWxzZV0ubGFzdEluZGV4T2YoMCkgPT09IC0xICYmDQogICAgICAgICAgICBbdW5kZWZpbmVkXS5sYXN0SW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtudWxsXS5sYXN0SW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtbXV0ubGFzdEluZGV4T2YoMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBib29sZWFucywgYW5kIHRoZXkgaGF2ZSBzYW1lIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBPYmplY3RzLCBhbmQgdGhleSByZWZlciB0byB0aGUgc2FtZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmoxID0ge307DQogICAgICAgIHZhciBvYmoyID0ge307DQogICAgICAgIHZhciBvYmozID0gb2JqMjsNCiAgICAgICAgcmV0dXJuIFtvYmoyLCBvYmoxXS5sYXN0SW5kZXhPZihvYmozKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggdHlwZSBvZiBhcnJheSBlbGVtZW50IGFuZCB0eXBlIG9mIHNlYXJjaCBlbGVtZW50IGFyZSBVbmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbdW5kZWZpbmVkXS5sYXN0SW5kZXhPZigpID09PSAwICYmIFt1bmRlZmluZWRdLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggdHlwZSBvZiBhcnJheSBlbGVtZW50IGFuZCB0eXBlIG9mIHNlYXJjaCBlbGVtZW50IGFyZSBOdWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW251bGxdLmxhc3RJbmRleE9mKG51bGwpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNlYXJjaCBlbGVtZW50IGlzIE5hTg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsrTmFOLCBOYU4sIC1OYU5dLmxhc3RJbmRleE9mKE5hTikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHNlYXJjaCBlbGVtZW50IGlzIC1OYU4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gWytOYU4sIE5hTiwgLU5hTl0ubGFzdEluZGV4T2YoLU5hTikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFycmF5IGVsZW1lbnQgaXMgKzAgYW5kIHNlYXJjaCBlbGVtZW50IGlzIC0wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWyswXS5sYXN0SW5kZXhPZigtMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGFycmF5IGVsZW1lbnQgaXMgLTAgYW5kIHNlYXJjaCBlbGVtZW50IGlzICswDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWy0wXS5sYXN0SW5kZXhPZigrMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIG51bWJlcnMsIGFuZCB0aGV5IGhhdmUgc2FtZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFstMSwgMCwgMV0ubGFzdEluZGV4T2YoLTEpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIHN0cmluZ3MsIGFuZCB0aGV5IGhhdmUgZXhhY3RseSB0aGUgc2FtZSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWyJhYmMiLCAiYWIiLCAiYmNhIiwgIiJdLmxhc3RJbmRleE9mKCJhYmMiKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyBpbmRleCBvZiBsYXN0IG9uZSB3aGVuIG1vcmUgdGhhbiB0d28gZWxlbWVudHMgaW4gYXJyYXkgYXJlIGVsaWdpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzIsIDEsIDIsIDIsIDFdLmxhc3RJbmRleE9mKDIpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LWItaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyB3aXRob3V0IHZpc2l0aW5nIHN1YnNlcXVlbnQgZWxlbWVudCBvbmNlIHNlYXJjaCB2YWx1ZSBpcyBmb3VuZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMiwgMSwgLCAxLCAyXTsNCiAgICAgICAgdmFyIGVsZW1lbnRGaXJzdEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZWxlbWVudFRoaXJkQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBlbGVtZW50Rmlyc3RBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5sYXN0SW5kZXhPZigyKTsNCiAgICAgICAgcmV0dXJuICFlbGVtZW50VGhpcmRBY2Nlc3NlZCAmJiAhZWxlbWVudEZpcnN0QWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBmb3IgZWxlbWVudHMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhWzEwMF0gPSAxOw0KICBhWzk5OTk5XSA9ICIiOyAgDQogIGFbMTBdID0gbmV3IE9iamVjdCgpOw0KICBhWzU1NTVdID0gNS41Ow0KICBhWzEyMzQ1Nl0gPSAic3RyIjsNCiAgYVs1XSA9IDFFKzMwOTsNCiAgaWYgKGEubGFzdEluZGV4T2YoMSkgIT09IDEwMCB8fA0KICAgICAgYS5sYXN0SW5kZXhPZigiIikgIT09IDk5OTk5IHx8DQogICAgICBhLmxhc3RJbmRleE9mKCJzdHIiKSAhPT0gMTIzNDU2IHx8DQogICAgICBhLmxhc3RJbmRleE9mKDUuNSkgIT09IDU1NTUgfHwNCiAgICAgIGEubGFzdEluZGV4T2YoMUUrMzA5KSAhPT0gNSApICAgICAgDQogIHsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0gICAgDQogIGlmIChhLmxhc3RJbmRleE9mKHRydWUpID09PSAtMSAmJiANCiAgICAgIGEubGFzdEluZGV4T2YoNSkgPT09IC0xICYmDQogICAgICBhLmxhc3RJbmRleE9mKCJzdHIxIikgPT09IC0xICYmDQogICAgICBhLmxhc3RJbmRleE9mKG51bGwpID09PSAtMSAgJiYNCiAgICAgIGEubGFzdEluZGV4T2YobmV3IE9iamVjdCgpKSA9PT0gLTEgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgcmV0dXJucyAtMSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBkb2VzIG5vdCBhY2Nlc3MgYW55IG90aGVyIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgdmFyIGYgPSB7bGVuZ3RoOiAwfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIjAiLHtnZXQ6IGZ1bmN0aW9uICgpIHthY2Nlc3NlZCA9IHRydWU7IHJldHVybiAxO319KTsNCiAgDQogIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZiwxKTsNCiAgDQogIGlmIChpID09PSAtMSAmJiBhY2Nlc3NlZD09ZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUuZXZlcnk7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkubGVuZ3RoIG11c3QgYmUgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChBcnJheS5wcm90b3R5cGUuZXZlcnkubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKHVuZGVmaW5lZCk7IC8vIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdmFsdWUgaXMgdW5kZWZpbmVkDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IE1hdGhdJyAhPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChNYXRoLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAhKG9iaiBpbnN0YW5jZW9mIERhdGUpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICEob2JqIGluc3RhbmNlb2YgUmVnRXhwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IEpTT05dJyAhPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChKU09OLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIShvYmogaW5zdGFuY2VvZiBFcnJvcik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgQXJndW1lbnRzXScgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChudWxsKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyBudWxsDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZhbHNlLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbCgyLjUsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0xMjgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIShvYmogaW5zdGFuY2VvZiBTdHJpbmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbCgiaGVsbG9cbndvcmxkXFwhIiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIShvYmogaW5zdGFuY2VvZiBTdHJpbmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImhlbGxvXG53b3JsZFxcISIpOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAhKG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiA5LA0KICAgICAgICAgICAgMTogOA0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogOCB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gOTsNCiAgICAgICAgY2hpbGRbMV0gPSA4Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gOTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygxMiwgMTEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQodmFsLCAxMCkgPiAxOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTApID4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCI0MzIiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMSI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoc3RyLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChzdHIsIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlWzNdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZ1biwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZnVuLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSA5Ow0KDQogICAgICAgICAgICByZXR1cm4gWzEyLCAxMV0uZXZlcnkoY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIVsxMiwgMTFdLmV2ZXJ5KGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJQcm90b0xlbiA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDk7DQoNCiAgICAgICAgICAgIHJldHVybiBbMTIsIDExXS5ldmVyeShjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICAgICAhWzEyLCAxMV0uZXZlcnkoY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqT25lID0geyAwOiA5LCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMDogOSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVGhyZWUgPSB7IDA6IDksIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqT25lLCBjYWxsYmFja2ZuKSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqVHdvLCBjYWxsYmFja2ZuKSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqVGhyZWUsIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDgsIGxlbmd0aDogInR3byIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QgZnJvbSBPYmplY3QNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgICAgICAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QgaWYgJ2xlbmd0aCcgaXMgMSAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gdHJ1ZSh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogdHJ1ZSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpICYmDQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgJiYgDQogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsYmFja2ZuQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGJhY2tmbkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIWNhbGxiYWNrZm5BY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYNCiAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6IDIuNjg1IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAtNDI5NDk2NzI5NC41DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTcNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07IC8vbGVuZ3RoIHVzZWQgdG8gZXhlYyB3aGlsZSBsb29wIGlzIDINCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gJ2NhbGxiYWNrZm4nIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTEsIDldLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gY2FsbGluZyB3aXRoIG5vIGNhbGxiYWNrZm4gaXMgdGhlIHNhbWUgYXMgcGFzc2luZyB1bmRlZmluZWQgZm9yIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5ldmVyeShudWxsKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5ldmVyeSh0cnVlKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KDUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KCJhYmMiKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IGEgQ2FsbCBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5ldmVyeSgge30gKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhpc0FyZyBub3QgcGFzc2VkIHRvIHN0cmljdCBjYWxsYmFja2ZuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlzPT09dW5kZWZpbmVkOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgWzFdLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICByZXR1cm4gaW5uZXJUaGlzQ29ycmVjdDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIG5vdCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzID09PSBmbkdsb2JhbE9iamVjdCgpOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gQXJyYXkgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQoNCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpBcnJheSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gU3RyaW5nIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICANCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpTdHJpbmcpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gQm9vbGVhbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICANCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpCb29sZWFuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gTnVtYmVyIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpOdW1iZXIpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIE1hdGggb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IE1hdGg7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBNYXRoKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gRGF0ZSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgb2JqRGF0ZSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gUmVnRXhwIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpSZWdFeHApICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIEpTT04gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgSlNPTikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gRXJyb3IgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgb2JqRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIEFyZ3VtZW50cyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgYXJnKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQogIG8ucmVzID0gdHJ1ZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4sIG8pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhlIGdsb2JhbCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gYm9vbGVhbiBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgZmFsc2UpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gbnVtYmVyIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gMTAxOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgMTAxKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gc3RyaW5nIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImFiYyI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCAiYWJjIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4sIGEpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShwcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCiAgDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgZm9vLnByb3RvdHlwZS5yZXMgPSB0cnVlOw0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgdmFyIGFyciA9IFsxXTsNCg0KICAgIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGYpID09PSB0cnVlKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5yZXMgPSB0cnVlOw0KICB2YXIgYXJyID0gWzFdOw0KDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGYpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGlzQXJnIGlzIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5yZXMgPSB0cnVlOw0KICB2YXIgYXJyID0gWzFdOw0KDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuLGZvbykgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBidWlsdC1pbiBmdW5jdGlvbnMgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZXZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIGV2YWwpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBGdW5jdGlvbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIG9iakZ1bmN0aW9uKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgY29uc2lkZXJzIG5ldyBlbGVtZW50cyBhZGRlZCB0byBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbGVkRm9yVGhyZWUgPSBmYWxzZTsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBhcnJbMl0gPSAzOw0KICAgIGlmKHZhbCA9PSAzKQ0KICAgICAgY2FsbGVkRm9yVGhyZWUgPSB0cnVlOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsLDQsNV07DQogIA0KICB2YXIgcmVzID0gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KDQogIHJldHVybiBjYWxsZWRGb3JUaHJlZTsgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBhcnJbNF0gPSA2Ow0KICAgIGlmKHZhbCA8IDYpDQogICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZSANCiAgICAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IGZhbHNlKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBhcnJbMl07DQogICAgaWYodmFsID09IDMpDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UgDQogICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBhcnIubGVuZ3RoID0gMzsNCiAgICBpZih2YWwgPCA0KQ0KICAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UgDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDZdOw0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCBjb25zaWRlciBuZXdseSBhZGRlZCBlbGVtZW50cyBpbiBzcGFyc2UgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQ0KICB7DQogICAgYXJyWzEwMDBdID0gMzsNCiAgICBpZih2YWwgPCAzKQ0KICAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UgDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IDE7DQogIGFyclsyXSA9IDI7DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgYXJyWzJdOw0KICAgIGlmKHZhbCA9PSAzKQ0KICAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlIA0KICAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgQXJyYXkucHJvdG90eXBlWzJdID0gMzsNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICANCiAgdmFyIHJlcyA9IGFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCg0KICBpZihyZXMgPT09IGZhbHNlKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBEZWxldGluZyB0aGUgYXJyYXkgaXRzZWxmIHdpdGhpbiB0aGUgY2FsbGJhY2tmbiBvZiBBcnJheS5wcm90b3R5cGUuZXZlcnkgaXMgc3VjY2Vzc2Z1bCBvbmNlIEFycmF5LnByb3RvdHlwZS5ldmVyeSBpcyBjYWxsZWQgZm9yIGFsbCBlbGVtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICBvLmFyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopIHsNCiAgICAgICAgICAgIGRlbGV0ZSBvLmFycjsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IElkeCArIDEpDQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIG8uYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmICFvLmhhc093blByb3BlcnR5KCJhcnIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgbGVuIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMiwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgaW5kZXhlcyBuZXZlciBiZWVuIGFzc2lnbmVkIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDAuOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgYXJyWzFdID0gdW5kZWZpbmVkOyAgDQogIGFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgaWYoIGNhbGxDbnQgPT09IDEpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcnIsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgMDogMCwgMTogMTExLCAyOiAyLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTEsIDJdOyANCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ICE9PSAzOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBhcnIgPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyclsyXSA9ICJsZW5ndGgiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDI7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgMjogNi45OSwgODogMTl9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzJdOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuICFhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ICE9PSAxOw0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ICE9PSAxOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSB7IH07DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiBrVmFsdWUsIGxlbmd0aDogMTAwIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTI7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gNTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDUsIDE6IDYgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMDsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMDsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA2Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA1Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTE7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjA7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTE7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIVssICwgLCBdLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDEgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTAwOw0KICAgICAgICAgICAgcmV0dXJuIGFyci5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gWywgXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIGFuIGdsb2JhbCBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5kZXggcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IDExOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDE7DQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDExKSAmJiBjYWxsZWQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDExLCA5KSAmJiBjYWxsZWQgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAoaWR4IDwgMikgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygxMSwgMTIsIDkpICYmIGNhbGxlZCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEwMDsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDExLCA1OiAxMDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFs1XSA9ICJhYmMiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA1OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbNV0gPSAxMDsNCiAgICAgICAgYXJyWzEwXSA9IDEwMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTE7DQoNCiAgICAgICAgICAgIHJldHVybiBbMTIsIDEyXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBjYWxsZWQgPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA1Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAnYWJjJzsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsICE9PSBrVmFsdWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IDEzOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxMzsNCiAgICAgICAgICAgIHJldHVybiAhWywgLCAsIF0uZXZlcnkoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsICE9PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGlmKG9ialtJZHhdID09PSB2YWwpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDEgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwpIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDIgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTAgJiYgYXJndW1lbnRzWzJdW2lkeF0gPT09IHZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5ldmVyeShjYWxsYmFja2ZuKSAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDMgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMCAmJiBvYmpbaWR4XSA9PT0gdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTIsIDEzXS5ldmVyeShjYWxsYmFja2ZuKSAmJiAzID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIHRoYXQgdXNlcyBhcmd1bWVudHMgb2JqZWN0IHRvIGdldCBwYXJhbWV0ZXIgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbMl1bYXJndW1lbnRzWzFdXSA9PT0gYXJndW1lbnRzWzBdOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBib29sZWFuIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpICE9PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiA1ID09PSB0aGlzLnZhbHVlT2YoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuLCA1KSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGFuIFN0cmluZyBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBzdHJpbmcgcHJpbWl0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJ2hlbGxvJyA9PT0gdGhpcy52YWx1ZU9mKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImhlbGxvIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBub24taW5kZXhlZCBwcm9wZXJ0aWVzIGFyZSBub3QgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gODsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxMDogMTIsIG5vbl9pbmRleF9wcm9wZXJ0eTogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gdGFrZXMgMyBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQ0KICB7DQogICAgaWYoYXJndW1lbnRzLmxlbmd0aCA9PT0gMykgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCiAgICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCiAgYXJyWzk5OTk5OV0gPSAtNi42Ow0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpc0FyZyBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMTAgPT09IHRoaXMudGhyZXNob2xkOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRoaXNBcmcgPSB7IHRocmVzaG9sZDogMTAgfTsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoa1ZhbHVlIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhlIGluZGV4IGsgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpcyBvYmplY3QgTyBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gb2JqID09PSBvOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBpbW1lZGlhdGVseSByZXR1cm5zIGZhbHNlIGlmIGNhbGxiYWNrZm4gcmV0dXJucyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICBpZihpZHggPiA1KSAgIA0KICAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlDQogICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSBmYWxzZSAmJiBjYWxsQ250ID09PSA3KSANCiAgICByZXR1cm4gdHJ1ZTsNCg0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGsgdmFsdWVzIGFyZSBwYXNzZWQgaW4gYXNjZW5kaW5nIG51bWVyaWMgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNCwgNV07DQogICAgICAgIHZhciBsYXN0SWR4ID0gMDsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdElkeCsrOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFyci5ldmVyeShjYWxsYmFja2ZuKSAmJiAgYXJyLmxlbmd0aCA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGsgdmFsdWVzIGFyZSBhY2Nlc3NlZCBkdXJpbmcgZWFjaCBpdGVyYXRpb24gYW5kIG5vdCBwcmlvciB0byBzdGFydGluZyB0aGUgbG9vcCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICB2YXIga0luZGV4ID0gW107DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBpZiAodHlwZW9mIGtJbmRleFtpZHhdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIHR5cGVvZiBrSW5kZXhbaWR4IC0gMV0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCAxMiwgMTMsIDE0XS5ldmVyeShjYWxsYmFja2ZuLCB1bmRlZmluZWQpICYmIDQgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGFyZ3VtZW50cyB0byBjYWxsYmFja2ZuIGFyZSBzZWxmIGNvbnNpc3RlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGhpc0FyZyA9IHt9Ow0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSB0aGlzQXJnICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gMCAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9PT0gb2JqOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZykgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGNhbGxiYWNrZm4gdGVybWluYXRlIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4Y2VwdGlvbiBvY2N1cnJlZCBpbiBjYWxsYmFja2ZuIik7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA0OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAxID09PSBjYWxsZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgY2hhbmdlZCBieSBjYWxsYmFja2ZuIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgIA0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5ldmVyeShjYWxsYmFja2ZuKSAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsNCiAgICAgICAgfQ0KDQogICAgICAgIA0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gSW5maW5pdHk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIC1JbmZpbml0eTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIE5hTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYW4gZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAiIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBub24tZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAibm9uLWVtcHR5IHN0cmluZyI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBbXTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgU3RyaW5nKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG51bGw7DQogICAgICAgIH0NCg0KICAgICAgICANCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYW4gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgRXZhbEVycm9yKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZmFsc2UgcHJldmVudHMgZnVydGhlciBzaWRlIGVmZmVjdHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDg7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gODsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFyZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcmV0dXJuIHZhbHVlIChuZXcgQm9vbGVhbihmYWxzZSkpIG9mIGNhbGxiYWNrZm4gaXMgdHJlYXRlZCBhcyB0cnVlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgIA0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiArMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bm1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gLTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi03LWMtaWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gLTU7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCkge30NCiAgdmFyIGkgPSBbXS5ldmVyeShjYik7DQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGxlbmd0aCBpcyByZWR1Y2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMjsNCiAgDQogIGZ1bmN0aW9uIGNiKHZhbCkNCiAgew0KICAgIGlmKHZhbD4yKQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiB0cnVlOyAgICANCiAgfQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IHJldHVybnMgdHJ1ZSB3aGVuIGFsbCBjYWxscyB0byBjYWxsYmFja2ZuIHJldHVybiB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSAmJiBjYWxsQ250ID09PSAxMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGRvZXNuJ3QgbXV0YXRlIHRoZSBhcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICBpZihhcnJbMF0gPT09IDEgJiYNCiAgICAgYXJyWzFdID09PSAyICYmDQogICAgIGFyclsyXSA9PT0gMyAmJg0KICAgICBhcnJbM10gPT09IDQgJiYNCiAgICAgYXJyWzRdID09PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBhcnJbImkiXSA9IDEwOw0KICBhcnJbdHJ1ZV0gPSAxMTsNCiAgDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSAmJiBjYWxsQ250ID09PSAxMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5ldmVyeShjYik7DQogIA0KICBpZiAoaSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE2LzE1LjQuNC4xNi04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5ldmVyeShjYik7DQogIA0KICBpZiAoaSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5zb21lOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZS5sZW5ndGggbXVzdCBiZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5zb21lLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHVuZGVmaW5lZCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbCh1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBNYXRoXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoTWF0aCwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aFswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBKU09OXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoSlNPTiwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQogICAgICAgICAgICBkZWxldGUgSlNPTlswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIG51bGwgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVsxXSA9IHRydWU7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKDUsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMTI4KTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKCJoZWxsb1xud19vcmxkXFwhIiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiaGVsbG9cbndfb3JsZFxcISIpOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSA5Ow0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gOTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSAxMjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYyg5LCAxMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTApID4gMTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBwYXJzZUludCh2YWwsIDEwKSA+IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMTIiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbMl0gPSAiMyI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChzdHIsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKHN0ciwgY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgZnVuWzBdID0gOTsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGZ1biwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChmdW4sIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDEyOw0KDQogICAgICAgICAgICByZXR1cm4gWzksIDExXS5zb21lKGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFbOSwgMTFdLnNvbWUoY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyclByb3RvTGVuID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMTI7DQoNCiAgICAgICAgICAgIHJldHVybiBbOSwgMTFdLnNvbWUoY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIVs5LCAxMV0uc29tZShjYWxsYmFja2ZuMik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSA5Ow0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSA5Ow0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSA5Ow0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogIjIuNSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmpPbmUgPSB7IDA6IDExLCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMDogMTEsIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialRocmVlID0geyAwOiAxMSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmpPbmUsIGNhbGxiYWNrZm4pICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmpUd28sIGNhbGxiYWNrZm4pICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmpUaHJlZSwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDIxLCBsZW5ndGg6ICJ0d28iIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCBpZiAnbGVuZ3RoJyBpcyAxIChsZW5ndGggb3ZlcnJpZGRlbiB0byB0cnVlKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogdHJ1ZSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDksDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpICYmDQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxiYWNrZm5BY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsYmFja2ZuQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICFjYWxsYmFja2ZuQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpICYmDQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDEwOiAxMSwNCiAgICAgICAgICAgIDExOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogMTEuNQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk2DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTcNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogLTQyOTQ5NjcyOTQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZSgpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSAnY2FsbGJhY2tmbicgaXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzksIDExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsaW5nIHdpdGggbm8gY2FsbGJhY2tmbiBpcyB0aGUgc2FtZSBhcyBwYXNzaW5nIHVuZGVmaW5lZCBmb3IgY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxlbmd0aEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxvb3BBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmopOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgbGVuZ3RoQWNjZXNzZWQgJiYgIWxvb3BBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bnJlZmVyZW5jZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5zb21lKGZvbyk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnNvbWUobnVsbCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnNvbWUodHJ1ZSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZSg1KTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZSgiYWJjIik7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgYSBDYWxsIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnNvbWUobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiMiI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24NCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT11bmRlZmluZWQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBbMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdGhpcy5fMTVfNF80XzE3XzVfMSA9IGZhbHNlOw0KICAgICAgICB2YXIgXzE1XzRfNF8xN181XzEgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMuXzE1XzRfNF8xN181XzE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxXTsNCiAgICAgICAgcmV0dXJuICFhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBBcnJheSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakFycmF5ID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQXJyYXk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIG9iakFycmF5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBTdHJpbmcgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpTdHJpbmcgPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpTdHJpbmcpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBCb29sZWFuIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqQm9vbGVhbiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqQm9vbGVhbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBOdW1iZXIgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpOdW1iZXIgPSBuZXcgTnVtYmVyKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpOdW1iZXIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgTWF0aCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgTWF0aCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBEYXRlIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRGF0ZSA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqRGF0ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBSZWdFeHAgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpSZWdFeHAgPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpSZWdFeHApOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgSlNPTiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgSlNPTik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBFcnJvciBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakVycm9yID0gbmV3IFJhbmdlRXJyb3IoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqRXJyb3IpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGFyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgYXJnKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgby5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuLCBvKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSAxMDE7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIDEwMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSAiYWJjIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgImFiYyIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIG5vdCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBpbm5lck9iaigpIHsNCiAgICAgICAgICAgIHRoaXMuXzE1XzRfNF8xN181XzI1ID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBfMTVfNF80XzE3XzVfMjUgPSBmYWxzZTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuXzE1XzRfNF8xN181XzI1Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIGFyciA9IFsxXTsNCiAgICAgICAgICAgIHRoaXMucmV0VmFsID0gIWFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBuZXcgaW5uZXJPYmooKS5yZXRWYWw7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBhID0gbmV3IEFycmF5KCk7DQogIGEucmVzID0gdHJ1ZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCg0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuLCBhKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlKHByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KICANCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucHJvdG90eXBlLnJlcyA9IHRydWU7DQogIHZhciBmID0gbmV3IGZvbygpOw0KICB2YXIgYXJyID0gWzFdOw0KDQogICAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmKSA9PT0gdHJ1ZSkNCiAgICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICBmdW5jdGlvbiBmb28oKXt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLnJlcyA9IHRydWU7DQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgaXMgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgZm9vLnJlcyA9IHRydWU7DQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbixmb28pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGJ1aWx0LWluIGZ1bmN0aW9ucyBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBldmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBldmFsKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIEZ1bmN0aW9uIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIG9iakZ1bmN0aW9uKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBjb25zaWRlcnMgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KICB2YXIgY2FsbGVkRm9yVGhyZWUgPSBmYWxzZTsNCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyWzJdID0gMzsNCiAgICBpZih2YWwgIT09IDMpDQogICAgICBjYWxsZWRGb3JUaHJlZSA9IHRydWU7DQoNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwsNCw1XTsNCiAgDQogIHZhciB2YWwgPSBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGNhbGxlZEZvclRocmVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBjb25zaWRlcnMgbmV3IHZhbHVlIG9mIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnJbNF0gPSA2Ow0KICAgIGlmKHZhbCA8IDYpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICANCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIA0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBhcnJbMl07DQogICAgaWYodmFsICE9PSAzKQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UgDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkgICAgDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgd2hlbiBBcnJheS5sZW5ndGggaXMgZGVjcmVhc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFyci5sZW5ndGggPSAzOw0KICAgIGlmKHZhbCA8IDQpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIA0KICB2YXIgYXJyID0gWzEsMiwzLDQsNl07DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpICAgIA0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IGNvbnNpZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRzIGluIHNwYXJzZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnJbMTAwMF0gPSA1Ow0KICAgIGlmKHZhbCA8IDUpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IDE7DQogIGFyclsyXSA9IDI7DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpICAgIA0KICAgIHJldHVybiB0cnVlOyAgDQogDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBhcnJbNF07DQogICAgaWYodmFsIDwgNSkNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlIA0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KDQogIEFycmF5LnByb3RvdHlwZVs0XSA9IDU7DQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgDQogIHZhciByZXMgPSBhcnIuc29tZShjYWxsYmFja2ZuKSA7DQogIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbNF07DQogIGlmKHJlcyA9PT0gdHJ1ZSkgICAgDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiBsZW5ndGggaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDI6IDEyLCBsZW5ndGg6IDMgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiA4Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGNhbGxlZCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQoNCiAgdmFyIGNhbGxDbnQgPSAwOyANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICBhcnJbMV0gPSB1bmRlZmluZWQ7DQogIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICBpZihjYWxsQ250ID09PSAxKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyciwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAwOiAwLCAxOiAxMTEsIDI6IDIsIGxlbmd0aDogMTAgfTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMSwgMl07IA0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDM7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAibGFzdCJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJwcm90b3R5cGUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAidW5jb25maWd1cmFibGUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzJdID0gImxlbmd0aCI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMjsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5LCA4OiAxOX07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuc29tZShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDU6IGtWYWx1ZSwgbGVuZ3RoOiAxMDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMTAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAxOiA2IH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTAwOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDIwOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIFssICwgXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxMDsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWUgPT09IHZhbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBba1ZhbHVlXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTAwOw0KICAgICAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gWywgXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgYW4gZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDExKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBmaXJzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHNlY29uZFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAhZnVuYygxMSwgOSkgJiYgZmlyc3RSZXN1bHQgJiYgc2Vjb25kUmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRoaXJkUmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgZmlyc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICBzZWNvbmRSZXN1bHQgPSAodmFsID09PSAxMik7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0aGlyZFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAhZnVuYygxMSwgMTIsIDkpICYmIGZpcnN0UmVzdWx0ICYmIHNlY29uZFJlc3VsdCAmJiB0aGlyZFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGhlbHBWZXJpZnlWYXIgPSAxMTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBoZWxwVmVyaWZ5VmFyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKGFyZ3MpIHsNCiAgICAgICAgICAgICAgICBoZWxwVmVyaWZ5VmFyID0gYXJnczsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbMV0gPSAxMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgaGVscFZlcmlmeVZhciA9IDExOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGhlbHBWZXJpZnlWYXI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoYXJncykgew0KICAgICAgICAgICAgICAgIGhlbHBWZXJpZnlWYXIgPSBhcmdzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgNTogMTAwIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbNV0gPSBrVmFsdWU7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIwIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyclsxMF0gPSAxMDA7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMTsNCg0KICAgICAgICAgICAgcmV0dXJuIFtrVmFsdWVdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAxMDAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBrVmFsdWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAxMDAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIFtrVmFsdWVdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICdhYmMnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKDUgPT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWUgPT09IHZhbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgNToga1ZhbHVlIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKDAgPT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWUgPT09IHZhbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBrVmFsdWU7DQoNCiAgICAgICAgICAgIHJldHVybiBbLCBdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgaWYob2JqW2lkeF0gPT09IHZhbCkNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpDQogICAgcmV0dXJuIHRydWU7DQoNCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMSBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCkgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMiBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwICYmIGFyZ3VtZW50c1syXVtpZHhdID09PSB2YWw7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzksIDEyXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMyBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMCAmJiBvYmpbaWR4XSA9PT0gdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFs5LCAxMl0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gdGhhdCB1c2VzIGFyZ3VtZW50cyBvYmplY3QgdG8gZ2V0IHBhcmFtZXRlciB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbMl1bYXJndW1lbnRzWzFdXSA9PT0gYXJndW1lbnRzWzBdOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFs5LCAxMl0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICd0aGlzJyBvZiAnY2FsbGJhY2snIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hlbiAnVCcgaXMgbm90IGFuIG9iamVjdCAoJ1QnIGlzIGEgYm9vbGVhbiBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSA1Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgNSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYW4gU3RyaW5nIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIHN0cmluZyBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImhlbGxvISI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8hIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIG5vbi1pbmRleGVkIHByb3BlcnRpZXMgYXJlIG5vdCBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDEwOiA4LCBub25faW5kZXhfcHJvcGVydHk6IDExLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgKDIgPT09IGNhbGxlZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiB0YWtlcyAzIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoID09PSAzKSAgIC8vdmVyaWZ5IGlmIGNhbGxiYWNrZm4gd2FzIGNhbGxlZCB3aXRoIDMgcGFyYW1ldGVycw0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBhcnJbOTk5OTk5XSA9IC02LjY7DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpDQogICAgcmV0dXJuIHRydWU7DQoNCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzQXJnIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGhpc0FyZyA9IHsgdGhyZXNob2xkOiAxMCB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IHRoaXNBcmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChrVmFsdWUgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmaXJzdEluZGV4ID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRJbmRleCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIGZpcnN0SW5kZXggPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHNlY29uZEluZGV4ID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgZmlyc3RJbmRleCAmJiBzZWNvbmRJbmRleDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGUgaW5kZXggayBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0SW5kZXggPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZEluZGV4ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAodmFsID09PSAxMSkgew0KICAgICAgICAgICAgICAgIGZpcnN0SW5kZXggPSAoaWR4ID09PSAwKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHNlY29uZEluZGV4ID0gKGlkeCA9PT0gMSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBmaXJzdEluZGV4ICYmIHNlY29uZEluZGV4Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzIG9iamVjdCBPIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogPT09IG87DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGltbWVkaWF0ZWx5IHJldHVybnMgdHJ1ZSBpZiBjYWxsYmFja2ZuIHJldHVybnMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICBpZihpZHggPiA1KSAgIA0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSB0cnVlICYmIGNhbGxDbnQgPT09IDcpIA0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gayB2YWx1ZXMgYXJlIHBhc3NlZCBpbiBhc2NlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0SWR4ICE9PSBpZHgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdElkeCsrOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhYXJyLnNvbWUoY2FsbGJhY2tmbikgJiYgYXJyLmxlbmd0aCA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gayB2YWx1ZXMgYXJlIGFjY2Vzc2VkIGR1cmluZyBlYWNoIGl0ZXJhdGlvbiBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga0luZGV4ID0gW107DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgLy9FYWNoIHBvc2l0aW9uIHNob3VsZCBiZSB2aXNpdGVkIG9uZSB0aW1lLCB3aGljaCBtZWFucyBrIGlzIGFjY2Vzc2VkIG9uZSB0aW1lIGR1cmluZyBpdGVyYXRpb25zLg0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgcHJldmlvdXMgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMSwgMTIsIDEzLCAxNF0uc29tZShjYWxsYmFja2ZuLCB1bmRlZmluZWQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gYXJndW1lbnRzIHRvIGNhbGxiYWNrZm4gYXJlIHNlbGYgY29uc2lzdGVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KICAgICAgICB2YXIgdGhpc0FyZyA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZyAmJiBhcmd1bWVudHNbMF0gPT09IDExICYmIGFyZ3VtZW50c1sxXSA9PT0gMCAmJiBhcmd1bWVudHNbMl0gPT09IG9iajsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gY2FsbGJhY2tmbiB0ZXJtaW5hdGUgaXRlcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDEwMCwgMTA6IDExLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIEVycm9yICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGNhbGxiYWNrZm4gb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgb2JqW2lkeCArIDFdID0gMTE7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiA4LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAwIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gLUluZmluaXR5Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gTmFOOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIiOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICJub24tZW1wdHkgc3RyaW5nIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBBcnJheSgxMCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmcoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbigpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXIoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG51bGw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIE1hdGg7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSgpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIEpTT047DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBFdmFsRXJyb3IoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0cnVlIHByZXZlbnRzIGZ1cnRoZXIgc2lkZSBlZmZlY3RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA4Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSByZXR1cm4gdmFsdWUgKG5ldyBCb29sZWFuKGZhbHNlKSkgb2YgY2FsbGJhY2tmbiBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgdHJ1ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5zb21lKGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICswOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIC0wOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy03LWMtaWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAtNTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IFtdLnNvbWUoY2IpOw0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIGlzIHJlZHVjZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAyOw0KICANCiAgZnVuY3Rpb24gY2IodmFsKQ0KICB7DQogICAgaWYodmFsID4gMikNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgcmV0dXJucyBmYWxzZSB3aGVuIGFsbCBjYWxscyB0byBjYWxsYmFja2ZuIHJldHVybiBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICANCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IGZhbHNlICYmIGNhbGxDbnQgPT09IDEwKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCBtdXRhdGUgdGhlIGFycmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgaWYoYXJyWzBdID09PSAxICYmDQogICAgIGFyclsxXSA9PT0gMiAmJg0KICAgICBhcnJbMl0gPT09IDMgJiYNCiAgICAgYXJyWzNdID09PSA0ICYmDQogICAgIGFycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lc24ndCB2aXNpdCBleHBhbmRvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBhcnJbImkiXSA9IDEwOw0KICBhcnJbdHJ1ZV0gPSAxMTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSAmJiBjYWxsQ250ID09PSAxMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5zb21lKGNiKTsNCiAgDQogIGlmIChpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE3LzE1LjQuNC4xNy04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5zb21lKGNiKTsNCiAgDQogIGlmIChpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5sZW5ndGggbXVzdCBiZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHVuZGVmaW5lZCk7IC8vIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdmFsdWUgaXMgdW5kZWZpbmVkDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoJ1tvYmplY3QgTWF0aF0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOw0KICAgICAgICAgICAgTWF0aFswXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKE1hdGgsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IG9iaiBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKCdbb2JqZWN0IEpTT05dJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChKU09OLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQogICAgICAgICAgICBkZWxldGUgSlNPTlswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChudWxsKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyBudWxsDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IHRydWU7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGZhbHNlLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMF0gPSAxOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKDIuNSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbCgiYWJjIiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMg0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyDQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gOTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMTIsIDExKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMyk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChzdHIsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChmdW4sIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMiwgMTFdLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyUHJvdG9MZW47DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgWzEyLCAxMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gMTI7DQogICAgICAgIG9ialsxXSA9IDExOw0KICAgICAgICBvYmpbMl0gPSA5Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMi41IiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQxID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMyA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkMSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDIgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjModmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQzID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmoxID0geyAwOiA5LCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7IDA6IDksIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9iajMgPSB7IDA6IDksIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iajEsIGNhbGxiYWNrZm4xKTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmoyLCBjYWxsYmFja2ZuMik7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqMywgY2FsbGJhY2tmbjMpOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQxICYmICFhY2Nlc3NlZDIgJiYgIWFjY2Vzc2VkMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAiYXNkZiFfIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgdHJ1ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiB0cnVlIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBmaXJzdFN0ZXBPY2N1cmVkID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRTdGVwT2NjdXJlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBmaXJzdFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgc2Vjb25kU3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgZmlyc3RTdGVwT2NjdXJlZCAmJiBzZWNvbmRTdGVwT2NjdXJlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBmaXJzdFN0ZXBPY2N1cmVkID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRTdGVwT2NjdXJlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgZmlyc3RTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHNlY29uZFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDIuNjg1DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk2DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxLCAxOiAxLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogLTQyOTQ5NjcyOTQgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLUluZmluaXR5IH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaCgpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSAnY2FsbGJhY2tmbicgaXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExLCA5XS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBjYWxsaW5nIHdpdGggbm8gY2FsbGJhY2tmbiBpcyB0aGUgc2FtZSBhcyBwYXNzaW5nIHVuZGVmaW5lZCBmb3IgY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwIH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxlbmd0aEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bnJlZmVyZW5jZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5mb3JFYWNoKGZvbyk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZvckVhY2gobnVsbCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZvckVhY2godHJ1ZSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaCg1KTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaCgiYWJjIik7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgQ2FsbCBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5mb3JFYWNoKG5ldyBPYmplY3QoKSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiMiI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBub3QgcGFzc2VkIHRvIHN0cmljdCBjYWxsYmFja2ZuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT11bmRlZmluZWQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBbMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdGhpcy5fMTVfNF80XzE4XzVfMSA9IGZhbHNlOw0KICAgICAgICB2YXIgXzE1XzRfNF8xOF81XzEgPSB0cnVlOw0KICAgICAgICB2YXIgcmVzdWx0Ow0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMuXzE1XzRfNF8xOF81XzE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxXTsNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbikNCiAgICAgICAgcmV0dXJuICFyZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBBcnJheSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpBcnJheSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgb2JqQXJyYXkpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBTdHJpbmcgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpTdHJpbmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBCb29sZWFuIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpCb29sZWFuKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpCb29sZWFuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBOdW1iZXIgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpOdW1iZXIpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9iak51bWJlcik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgTWF0aCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBNYXRoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBNYXRoKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBEYXRlIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpEYXRlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpEYXRlKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBSZWdFeHAgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpSZWdFeHApOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9ialJlZ0V4cCk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgSlNPTiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBKU09OKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBKU09OKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBFcnJvciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IG9iakVycm9yKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpFcnJvcik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gYXJnKTsNCiAgICAgICAgfQ0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBhcmcpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgby5yZXMgPSB0cnVlOw0KICB2YXIgcmVzdWx0Ow0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXN1bHQgPSB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sbykNCiAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBmYWxzZSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcy52YWx1ZU9mKCkgPT09IDEwMSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgMTAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCAiYWJjIik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGlzQXJnIG5vdCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBpbm5lck9iaigpIHsNCiAgICAgICAgICAgIHRoaXMuXzE1XzRfNF8xOF81XzI1ID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBfMTVfNF80XzE4XzVfMjUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciByZXN1bHQ7DQogICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLl8xNV80XzRfMThfNV8yNTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBhcnIgPSBbMV07DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKQ0KICAgICAgICAgICAgdGhpcy5yZXRWYWwgPSAhcmVzdWx0Ow0KICAgICAgICB9DQogICAgICAgIHJldHVybiBuZXcgaW5uZXJPYmooKS5yZXRWYWw7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBhID0gbmV3IEFycmF5KCk7DQogIGEucmVzID0gdHJ1ZTsNCiAgdmFyIHJlc3VsdDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmVzdWx0ID0gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuLGEpDQogIGlmKCByZXN1bHQgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlKHByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciByZXN1bHQ7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJlc3VsdCA9IHRoaXMucmVzOw0KICB9DQogIA0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5wcm90b3R5cGUucmVzID0gdHJ1ZTsNCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sZikNCiAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgcmVzdWx0Ow0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXN1bHQgPSB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sZikNCiAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgaXMgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciByZXN1bHQ7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJlc3VsdCA9IHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sZm9vKQ0KICBpZiggcmVzdWx0ID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGJ1aWx0LWluIGZ1bmN0aW9ucyBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gZXZhbCk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgZXZhbCk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIEZ1bmN0aW9uIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpTdHJpbmcgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gb2JqU3RyaW5nKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpTdHJpbmcpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNvbnNpZGVyIG5ldyBlbGVtZW50cyBhZGRlZCB0byBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsgDQogICAgYXJyWzJdID0gMzsNCiAgICBhcnJbNV0gPSA2Ow0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsLDQsNV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZiggY2FsbENudCA9PT0gNSkgICAgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZihjYWxsQ250ID09IDApDQogICAgICBkZWxldGUgYXJyWzNdOw0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbikNCiAgaWYoIGNhbGxDbnQgPT09IDQpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgd2hlbiBBcnJheS5sZW5ndGggaXMgZGVjcmVhc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyLmxlbmd0aD0zOw0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogIGlmKCBjYWxsQ250ID09PSAzKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNvbnNpZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRzIGluIHNwYXJzZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFyclsxMDAwXSA9IDM7DQogICAgY2FsbENudCsrOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IDE7DQogIGFyclsyXSA9IDI7DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZiggY2FsbENudCA9PT0gMikgICAgDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIGFycls0XTsNCiAgICBjYWxsQ250Kys7DQogIH0NCg0KICBBcnJheS5wcm90b3R5cGVbNF0gPSA1Ow0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbikNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVs0XTsNCiAgaWYoIGNhbGxDbnQgPT09IDUpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFycls0XSA9IDY7DQogICAgICAgICAgICBpZiAodmFsID49IDYpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiBsZW4gaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMiwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IHVuZGVmaW5lZDsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogIGlmKCBjYWxsQ250ID09PSAxKSAgICANCiAgICByZXR1cm4gdHJ1ZTsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6IDIsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0Il07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gOCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyAyOiA2Ljk5LCA4OiAxOSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzhdOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHsgfTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDUpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0ga1ZhbHVlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDU6IGtWYWx1ZSwgbGVuZ3RoOiAxMDAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDEwOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyMDsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIFssICwgLCBdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgWywgMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgYW4gZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDExKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgIT09IDEgJiYgIXRlc3RSZXN1bHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygxMSwgOSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgIT09IDEgJiYgIXRlc3RSZXN1bHQpIHsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDEyKTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMTEsIDEyLCA5KTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSA5KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSBrVmFsdWUpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiAxMDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFs1XSA9IGtWYWx1ZTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdW5uaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNTogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdW5uaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbNV0gPSAxMDsNCiAgICAgICAgYXJyWzEwXSA9IDEwMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KDQogICAgICAgICAgICBbMTJdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICdhYmMnOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSBrVmFsdWUpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDEzOw0KDQogICAgICAgICAgICBbLCAsICwgXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDEwOiAxMCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGJQYXIgPSB0cnVlOw0KICB2YXIgYkNhbGxlZCA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihvYmpbaWR4XSAhPT0gdmFsKQ0KICAgICAgYlBhciA9IGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBhcnJbOTk5OTk5XSA9IC02LjY7DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIGJQYXIgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMSBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOyANCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMiBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh2YWwgPiAxMCAmJiBhcmd1bWVudHNbMl1baWR4XSA9PT0gdmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsgDQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMyBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHZhbCA+IDEwICYmIG9ialtpZHhdID09PSB2YWwpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gdGhhdCB1c2VzIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmVzdWx0ID0gKGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF0pOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIGJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMudmFsdWVPZigpICE9PSBmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKTsNCiAgICAgICAgcmV0dXJuICFyZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoNSA9PT0gdGhpcy52YWx1ZU9mKCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuLCA1KTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYW4gU3RyaW5nIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoJ2hlbGxvJyA9PT0gdGhpcy52YWx1ZU9mKCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8iKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIG5vbi1pbmRleGVkIHByb3BlcnRpZXMgYXJlIG5vdCBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAodmFsID09PSA4KSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTA6IDEyLCBub25faW5kZXhfcHJvcGVydHk6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiB0YWtlcyAzIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgcGFyQ250ID0gMzsNCiAgdmFyIGJDYWxsZWQgPSBmYWxzZQ0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsgDQogICAgYkNhbGxlZCA9IHRydWU7DQogICAgaWYoYXJndW1lbnRzLmxlbmd0aCAhPT0gMykNCiAgICAgIHBhckNudCA9IGFyZ3VtZW50cy5sZW5ndGg7ICAgLy92ZXJpZnkgaWYgY2FsbGJhY2tmbiB3YXMgY2FsbGVkIHdpdGggMyBwYXJhbWV0ZXJzDQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoYkNhbGxlZCA9PT0gdHJ1ZSAmJiBwYXJDbnQgPT09IDMpDQogICAgcmV0dXJuIHRydWU7DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzQXJnIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKDEwID09PSB0aGlzLnRocmVzaG9sZCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGhpc0FyZyA9IHsgdGhyZXNob2xkOiAxMCB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChrVmFsdWUgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHRPbmUgPSBmYWxzZTsNCiAgICAgICAgdmFyIHJlc3VsdFR3byA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdE9uZSA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdFR3byA9ICh2YWwgPT09IDEyKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHRPbmUgJiYgcmVzdWx0VHdvOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGUgaW5kZXggayBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdE9uZSA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzdWx0VHdvID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAodmFsID09PSAxMSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdE9uZSA9IChpZHggPT09IDApOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHJlc3VsdFR3byA9IChpZHggPT09IDEpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdE9uZSAmJiByZXN1bHRUd287DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzIG9iamVjdCBPIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqID09PSBvKTsNCiAgICAgICAgfQ0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gayB2YWx1ZXMgYXJlIHBhc3NlZCBpbiBhc2NlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4Kys7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhcnIubGVuZ3RoID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gayB2YWx1ZXMgYXJlIGFjY2Vzc2VkIGR1cmluZyBlYWNoIGl0ZXJhdGlvbiBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgdmFyIGtJbmRleCA9IFtdOw0KDQogICAgICAgIC8vQnkgYmVsb3cgd2F5LCB3ZSBjb3VsZCB2ZXJpZnkgdGhhdCBrIHdvdWxkIGJlIHNldHRlZCBhcyAwLCAxLCAuLi4sIGxlbmd0aCAtIDEgaW4gb3JkZXIsIGFuZCBlYWNoIHZhbHVlIHdpbGwgYmUgc2V0dGVkIG9uZSB0aW1lLg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgayBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGlmICh0eXBlb2Yga0luZGV4W2lkeF0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIHByZXZpb3VzIGluZGV4IHNob3VsZCBoYXMgYmVlbiB2aXNpdGVkLg0KICAgICAgICAgICAgICAgIGlmIChpZHggIT09IDAgJiYgdHlwZW9mIGtJbmRleFtpZHggLSAxXSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGtJbmRleFtpZHhdID0gMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBbMTEsIDEyLCAxMywgMTRdLmZvckVhY2goY2FsbGJhY2tmbiwgdW5kZWZpbmVkKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gYXJndW1lbnRzIHRvIGNhbGxiYWNrZm4gYXJlIHNlbGYgY29uc2lzdGVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQogICAgICAgIHZhciB0aGlzQXJnID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSB0aGlzQXJnICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gMCAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9PT0gb2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gY2FsbGJhY2tmbiB0ZXJtaW5hdGUgaXRlcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA0OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgRXJyb3IgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGNhbGxiYWNrZm4gb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBvYmpbaWR4ICsgMV0gPSA4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHZhbCA9PT0gOCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC03LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAwIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgIH0NCg0KICAgICAgICBbMTEsIDEyXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IFtdLmZvckVhY2goY2IpOw0KICBpZiAoY2FsbENudCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIGlzIHJlZHVjZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAxOw0KICANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24ndCBtdXRhdGUgdGhlIGFycmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoYXJyWzBdID09PSAxICYmDQogICAgIGFyclsxXSA9PT0gMiAmJg0KICAgICBhcnJbMl0gPT09IDMgJiYNCiAgICAgYXJyWzNdID09PSA0ICYmDQogICAgIGFycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggZG9lc24ndCB2aXNpdCBleHBhbmRvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogIH0NCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnJbImkiXSA9IDEwOw0KICBhcnJbdHJ1ZV0gPSAxMTsNCg0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoY2FsbENudCA9PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB1bmRlZmluZWQgd2lsbCBiZSByZXR1cm5lZCB3aGVuICdsZW4nIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXN1bHQgPSBbXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHJlc3VsdCA9PT0gInVuZGVmaW5lZCIgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2IoKXtjYWxsQ250Kyt9DQogIHZhciBpID0gZi5mb3JFYWNoKGNiKTsgIA0KICBpZiAoY2FsbENudCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFtdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE4LzE1LjQuNC4xOC04LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IGNhbGwgY2FsbGJhY2tmbiBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFswXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbMF07DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLm1hcDsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLm1hcC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKHVuZGVmaW5lZCk7IC8vIFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdmFsdWUgaXMgdW5kZWZpbmVkDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQogICAgICAgDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmxlbmd0aCA9IDE7DQogICAgICAgICAgICBNYXRoWzBdID0gMTsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKE1hdGgsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aFswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IEpTT05dJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoSlNPTiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChudWxsKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyBudWxsDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IHRydWU7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmYWxzZSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMF0gPSAxOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbCgyLjUsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoImFiYyIsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsyXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsyXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCB3aGVuICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gMCA9PT0gdGVzdFJlc3VsdC5sZW5ndGg7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHdoZW4gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHdoZW4gJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTE7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAwID09PSB0ZXN0UmVzdWx0Lmxlbmd0aDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAwID09PSB0ZXN0UmVzdWx0Lmxlbmd0aDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHdoZW4gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gOTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZ1bmMoMTIsIDExKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBwYXJzZUludCh2YWwsIDEwKSA+IDE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiNDMyIik7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlWzNdID0gIjEiOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIDMgPT09IHRlc3RSZXN1bHQubGVuZ3RoOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIGZ1blswXSA9IDEyOw0KICAgICAgICBmdW5bMV0gPSAxMTsNCiAgICAgICAgZnVuWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmdW4sIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAyID09PSB0ZXN0UmVzdWx0Lmxlbmd0aDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTIsIDExXS5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gd2hlbiAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTIsIDExXS5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSAxMjsNCiAgICAgICAgb2JqWzFdID0gMTE7DQogICAgICAgIG9ialsyXSA9IDk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCB3aGVuICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHN0cmluZyB0aGF0IGlzIGFibGUgdG8gY29udmVydCB0byBudW1iZXIgcHJpbWl0aXZlICh2YWx1ZSBpcyBhIGRlY2ltYWwgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIDI6IDEyLCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgMjogMTIsIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgMjogMTIsIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHdoZW4gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6ICJhc2RmIV8iIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IGlmICdsZW5ndGgnIGlzIDEgKGxlbmd0aCBvdmVycmlkZGVuIHRvIHRydWUodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IHRydWUgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZmlyc3RTdGVwT2NjdXJlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgc2Vjb25kU3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogOSwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBmaXJzdFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgc2Vjb25kU3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgZmlyc3RTdGVwT2NjdXJlZCAmJiBzZWNvbmRTdGVwT2NjdXJlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICcxJzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyLjY4NQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAtNDI5NDk2NzI5NC41DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogOSwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTAsIDE6IDEyLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTAsIDE6IDEyLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLUluZmluaXR5IH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExLCA5XS5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMiAmJiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgbGVuZ3RoQWNjZXNzZWQgJiYgIWxvb3BBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLm1hcChmb28pOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIubWFwKG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIubWFwKHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBDYWxsIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLm1hcChuZXcgT2JqZWN0KCkpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gU2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gU2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIFsxXS5tYXAoY2FsbGJhY2tmbik7DQogIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBub3QgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBmbkdsb2JhbE9iamVjdCgpLl8xNV80XzRfMTlfNV8xID0gdHJ1ZTsNCiAgICB2YXIgXzE1XzRfNF8xOV81XzEgPSBmYWxzZTsNCiAgDQogICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzE5XzVfMTsNCiAgICB9DQogICAgdmFyIHNyY0FyciA9IFsxXTsNCiAgICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICBpZiggcmVzQXJyWzBdID09PSB0cnVlKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KCQ0KCXJldHVybiBmYWxzZTsNCiAgfQ0KICBmaW5hbGx5IHsNCglkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5fMTVfNF80XzE5XzVfMTsNCiAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIEFycmF5IG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBuZXcgQXJyYXkoMik7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQXJyYXk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9iakFycmF5KTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIFN0cmluZyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIEJvb2xlYW4gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBvYmpCb29sZWFuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIE51bWJlciBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9iak51bWJlcik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBNYXRoIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBNYXRoKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIERhdGUgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBvYmpEYXRlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIFJlZ0V4cCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9ialJlZ0V4cCk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBKU09OIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBKU09OKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIEVycm9yIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBvYmpFcnJvcik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgYXJnKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICBvLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sbyk7DQogIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgZmFsc2UpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IDEwMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgMTAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCAiYWJjIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKTsNCiAgYS5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzFdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuLGEpOw0KICBpZiggcmVzQXJyWzBdID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUocHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQogIA0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5wcm90b3R5cGUucmVzID0gdHJ1ZTsNCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgc3JjQXJyID0gWzFdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuLGYpOw0KICBpZiggcmVzQXJyWzBdID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sZik7DQogIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhpc0FyZyBpcyBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sZm9vKTsNCiAgaWYoIHJlc0FyclswXSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYnVpbHQtaW4gZnVuY3Rpb25zIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGV2YWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIGV2YWwpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gRnVuY3Rpb24gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gQXJyYXkuaXNBcnJheSByZXR1cm5zIHRydWUgd2hlbiBpbnB1dCBhcmd1bWVudCBpcyB0aGUgb3VycHV0IGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5tYXAoZnVuY3Rpb24gKCkgeyB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShuZXdBcnIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMTkwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhlIHJldHVybmVkIGFycmF5IGlzIGluc3RhbmNlb2YgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLm1hcChmdW5jdGlvbiAoKSB7IH0pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIgaW5zdGFuY2VvZiBBcnJheTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBzcmNBcnJbMl0gPSAzOw0KICAgIHNyY0Fycls1XSA9IDY7DQogICAgcmV0dXJuIDE7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDUpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyAgICANCiAgICBzcmNBcnJbNF0gPSAtMTsNCiAgICBpZih2YWwgPiAwKQ0KICAgICAgcmV0dXJuIDE7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIDA7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSA1ICYmIHJlc0Fycls0XSA9PT0gMCkNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgc3JjQXJyWzRdOw0KICAgIGlmKHZhbCA+IDApDQogICAgICByZXR1cm4gMTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gMDsNCg0KICB9DQoNCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gNSAmJiByZXNBcnJbNF0gPT09IHVuZGVmaW5lZCkNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBzcmNBcnIubGVuZ3RoID0gMjsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIDE7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSA1ICAmJiBjYWxsQ250ID09PSAyICYmIHJlc0FyclsyXSA9PT0gdW5kZWZpbmVkKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgY29uc2lkZXIgbmV3bHkgYWRkZWQgZWxlbWVudHMgaW4gc3BhcnNlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgc3JjQXJyWzEwMDBdID0gMzsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIHZhbDsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBuZXcgQXJyYXkoMTApOw0KICBzcmNBcnJbMV0gPSAxOw0KICBzcmNBcnJbMl0gPSAyOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEwICYmIGNhbGxDbnQgPT09IDIpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIHNyY0Fycls0XTsNCiAgICBpZih2YWwgPiAwKQ0KICAgICAgcmV0dXJuIDE7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIDA7DQoNCiAgfQ0KDQogIEFycmF5LnByb3RvdHlwZVs0XSA9IDU7DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbNF07DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDUgJiYgcmVzQXJyWzRdID09PSAxKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHN1Y2Nlc3NmdWwgdG8gZGVsZXRlIHRoZSBvYmplY3QgaW4gY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnNyY0FyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmouc3JjQXJyOw0KICAgICAgICAgICAgaWYgKHZhbCA+IDApDQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcmVzQXJyID0gb2JqLnNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXNBcnIudG9TdHJpbmcoKSA9PT0gIjEsMSwxLDEsMSIgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgiYXJyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmIGxlbmd0aCBpcyAwIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkICs9IDE7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzksICwgMTJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDg7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDMgJiYgY2FsbGVkID09PSAyICYmIHR5cGVvZiB0ZXN0UmVzdWx0WzJdID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIDE7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gbmV3IEFycmF5KDEwKTsNCiAgc3JjQXJyWzFdID0gdW5kZWZpbmVkOyAvL2V4cGxpY2l0bHkgYXNzaWduaW5nIGEgdmFsdWUNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAxMCAmJiBjYWxsQ250ID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDEgJiYgdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDIwICYmIHR5cGVvZiB0ZXN0UmVzdWx0WzFdID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDEgJiYgdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDMgJiYgdHlwZW9mIHRlc3RSZXN1bHRbMV0gPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMzsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2U7IA0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMzsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDMgJiYgdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0Il07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRlc3RSZXN1bHRbM10gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAzICYmIHRlc3RSZXN1bHRbMl0gPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDMgJiYgdGVzdFJlc3VsdFsyXSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gImxlbmd0aCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMl0gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IDI6IDYuOTksIDg6IDE5IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRlc3RSZXN1bHRbMl0gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHR5cGVvZiB0ZXN0UmVzdWx0WzFdID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdHlwZW9mIHRlc3RSZXN1bHRbMV0gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgNToga1ZhbHVlLCBsZW5ndGg6IDEwMCB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzVdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDUsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQoNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFssIF0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtrVmFsdWVdOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWyxdLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0ga1ZhbHVlOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmdW5jKDkpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZnVuYyg5LCAxMSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTI7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZnVuYyg5LCAxMSwgMTIpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsyXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiAxMiwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzVdID0ga1ZhbHVlOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFs1XSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDU6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyWzVdID0gMTA7DQogICAgICAgIGFyclsxMF0gPSAxMDA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFtrVmFsdWVdLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICI1Iiwgew0KICAgICAgICAgICAgdmFsdWU6IGtWYWx1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbNV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFtrVmFsdWVdLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbNV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTM7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTM7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBbLCAsICwgXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnJbMV0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgYlBhciA9IHRydWU7DQogIHZhciBiQ2FsbGVkID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKG9ialtpZHhdICE9PSB2YWwpDQogICAgICBiUGFyID0gZmFsc2U7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQogIHNyY0Fycls5OTk5OTldID0gLTYuNjsNCiAgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgDQogIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgYlBhciA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgcmV0dXJuICh2YWwgPiAxMCAmJiBhcmd1bWVudHNbMl1baWR4XSA9PT0gdmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAodmFsID4gMTAgJiYgb2JqW2lkeF0gPT09IHZhbCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzIG9iamVjdCB0byBnZXQgcGFyYW1ldGVyIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF07DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ3RoaXMnIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ3RoaXMnIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSA1Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgNSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ3RoaXMnIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIHN0cmluZyBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImhlbGxvISI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8hIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbm9uX2luZGV4X3Byb3BlcnR5OiAxMSwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFyZXN1bHQgJiYgdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiBjYWxsZWQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBwYXJDbnQgPSAzOw0KICB2YXIgYkNhbGxlZCA9IGZhbHNlDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoICE9PSAzKQ0KICAgICAgcGFyQ250ID0gYXJndW1lbnRzLmxlbmd0aDsgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIHBhckNudCA9PT0gMykNCiAgICByZXR1cm4gdHJ1ZTsNCg0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXNBcmcgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudGhyZXNob2xkID09PSAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0aGlzQXJnID0geyB0aHJlc2hvbGQ6IDEwIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGtWYWx1ZSBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoZSBpbmRleCBrIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXMgb2JqZWN0IE8gaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqID09PSBvOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFjZW5kaW5nIG51bWVyaWMgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNCwgNV07DQogICAgICAgIHZhciBsYXN0SWR4ID0gMDsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0SWR4ICE9PSBpZHgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdElkeCsrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhcnIubGVuZ3RoID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3AuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga0luZGV4ID0gW107DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgLy9FYWNoIHBvc2l0aW9uIHNob3VsZCBiZSB2aXNpdGVkIG9uZSB0aW1lLCB3aGljaCBtZWFucyBrIGlzIGFjY2Vzc2VkIG9uZSB0aW1lIGR1cmluZyBpdGVyYXRpb25zLg0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgcHJldmlvdXMgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMSwgMTIsIDEzLCAxNF0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gNCAmJiB0ZXN0UmVzdWx0WzBdID09PSBmYWxzZSAmJg0KICAgICAgICAgICAgdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2UgJiYgdGVzdFJlc3VsdFsyXSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIHRlc3RSZXN1bHRbM10gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcmd1bWVudHMgdG8gY2FsbGJhY2tmbiBhcmUgc2VsZiBjb25zaXN0ZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KICAgICAgICB2YXIgdGhpc0FyZyA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZyAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1swXSA9PT0gMTEgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMV0gPT09IDAgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMl0gPT09IG9iajsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDQ6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIEVycm9yICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFsbCB0cnVlKSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iail7DQoJICBpZih2YWwgJSAyKQ0KCSAgICByZXR1cm4gKDIgKiB2YWwgKyAxKTsgDQoJICBlbHNlDQoJICAgIHJldHVybiAodmFsIC8gMik7DQogIH0NCiAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDRdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYgKHJlc0Fyci5sZW5ndGggPiAwKXsNCiAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJlc0FyciwgMSkgDQogICAgIGlmKGRlc2MudmFsdWUgPT09IDMgJiYgICAgICAgIC8vc3JjQXJyWzFdID0gMioxKzEgPSAzDQogICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKXsNCiAgICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBlcXVhbHMgdG8gJ21hcHBlZFZhbHVlJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gb2JqWzBdICYmIG5ld0FyclsxXSA9PT0gb2JqWzFdOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBjYW4gYmUgb3ZlcndyaXR0ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciB0ZW1wVmFsID0gbmV3QXJyWzFdOw0KICAgICAgICAgICAgbmV3QXJyWzFdICs9IDE7DQogICAgICAgICAgICByZXR1cm4gbmV3QXJyWzFdICE9PSB0ZW1wVmFsOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBjYW4gYmUgZW51bWVyYXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHZhciBwcm9wOw0KICAgICAgICB2YXIgZW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHByb3AgaW4gbmV3QXJyKSB7DQogICAgICAgICAgICBpZiAobmV3QXJyLmhhc093blByb3BlcnR5KHByb3ApKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICIwIikgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZW51bWVyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS04LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgcmV0dXJuZWQgYXJyYXkgZWxlbWVudCBjYW4gYmUgY2hhbmdlZCBvciBkZWxldGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciB0ZW1wVmFsID0gbmV3QXJyWzFdOw0KICAgICAgICAgICAgZGVsZXRlIG5ld0FyclsxXTsNCiAgICAgICAgICAgIHJldHVybiB0ZW1wVmFsICE9PSB1bmRlZmluZWQgJiYgbmV3QXJyWzFdID09PSB1bmRlZmluZWQ7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYoc3JjQXJyWzBdID09PSAxICYmDQogICAgIHNyY0FyclsxXSA9PT0gMiAmJg0KICAgICBzcmNBcnJbMl0gPT09IDMgJiYNCiAgICAgc3JjQXJyWzNdID09PSA0ICYmDQogICAgIHNyY0Fycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVtcHR5IGFycmF5IHRvIGJlIHJldHVybmVkIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIEZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBGb28oKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBGb28oKSB7IH0NCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCg0KICAgICAgICB2YXIgZiA9IG5ldyBGb28oKTsNCg0KICAgICAgICB2YXIgbyA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcwJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgZi5sZW5ndGggPSBvOw0KDQogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogICAgICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgICAgICAgZnVuY3Rpb24gY2IoKSB7IH0NCiAgICAgICAgdmFyIGEgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoZiwgY2IpOw0KDQogICAgICAgIGlmIChBcnJheS5pc0FycmF5KGEpICYmIGEubGVuZ3RoID09PSAwKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBGb28oKSB7IH0NCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIGYgPSBuZXcgRm9vKCk7DQoNCiAgICAgICAgZi5sZW5ndGggPSBbXTsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAgICAgICAvLw0KICAgICAgICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAgICAgICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogICAgICAgIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgICAgICAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgICAgICAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAgICAgICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogICAgICAgIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgICAgICAgZnVuY3Rpb24gY2IoKSB7IH0NCiAgICAgICAgdmFyIGEgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoZiwgY2IpOw0KDQogICAgICAgIGlmIChBcnJheS5pc0FycmF5KGEpICYmIGEubGVuZ3RoID09PSAwKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGlmIHRoZXJlIGFyZSBubyBzaWRlIGVmZmVjdHMgb2YgdGhlIGZ1bmN0aW9ucywgTyBpcyB1bm1vZGlmaWVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDMsIDRdOw0KDQogICAgICAgIGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIDEgPT09IGFyclswXSAmJiAyID09PSBhcnJbMV0gJiYgMyA9PT0gYXJyWzJdICYmIDQgPT09IGFyclszXSAmJiA0ID09PSBjYWxsZWQ7DQoNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHJldHVybnMgbmV3IEFycmF5IHdpdGggc2FtZSBudW1iZXIgb2YgZWxlbWVudHMgYW5kIHZhbHVlcyB0aGUgcmVzdWx0IG9mIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB2YWwgKyAxMDsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnJbMF0gPT09IDExICYmDQogICAgIHJlc0FyclsxXSA9PT0gMTIgJiYNCiAgICAgcmVzQXJyWzJdID09PSAxMyAmJg0KICAgICByZXNBcnJbM10gPT09IDE0ICYmDQogICAgIHJlc0Fycls0XSA9PT0gMTUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGxlbmd0aCBpcyByZWR1Y2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYubWFwKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgc3JjQXJyWyJpIl0gPSAxMDsNCiAgc3JjQXJyW3RydWVdID0gMTE7DQoNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKGNhbGxDbnQgPT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDgsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIEZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBGb28oKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IG51bGw7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBGb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIEZvby5wcm90b3R5cGUgPSBbMSwgMiwgM107DQogICAgICAgIHZhciBvYmogPSBuZXcgRm9vKCk7DQogICAgICAgIG9iai5sZW5ndGggPSBmYWxzZTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIEZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBGb28oKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDA7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE5LzE1LjQuNC4xOS05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgRm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBGb28ucHJvdG90eXBlID0gWzEsIDIsIDNdOw0KICAgICAgICB2YXIgb2JqID0gbmV3IEZvbygpOw0KICAgICAgICBvYmoubGVuZ3RoID0gJzAnOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLmZpbHRlcjsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLmZpbHRlci5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gdW5kZWZpbmVkIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwodW5kZWZpbmVkKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyB1bmRlZmluZWQNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOw0KICAgICAgICAgICAgTWF0aFswXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKE1hdGgsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gJ1tvYmplY3QgSlNPTl0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoSlNPTik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEpTT04sIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBBcmd1bWVudHNdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oImEiLCAiYiIpKTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gImEiICYmIG5ld0FyclsxXSA9PT0gImIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gbnVsbCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gdHJ1ZTsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQm9vbGVhbiBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIG5ld0FyclsxXSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCgyLjUsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBuZXdBcnJbMV0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCgiYWJjIiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gImEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09ICJhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgbmV3QXJyWzFdID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBkb2Vzbid0IG11dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKHNyY0FyclswXSA9PT0gMSAmJg0KICAgICBzcmNBcnJbMV0gPT09IDIgJiYNCiAgICAgc3JjQXJyWzJdID09PSAzICYmDQogICAgIHNyY0FyclszXSA9PT0gNCAmJg0KICAgICBzcmNBcnJbNF0gPT09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm5zIG5ldyBBcnJheSB3aXRoIGxlbmd0aCBlcXVhbCB0byBudW1iZXIgb2YgdHJ1ZSByZXR1cm5lZCBieSBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZih2YWwgJSAyKQ0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDMgJiYNCiAgICAgcmVzQXJyWzBdID09PSAxICYmDQogICAgIHJlc0FyclsxXSA9PT0gMyAmJg0KICAgICByZXNBcnJbMl0gPT09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBsZW5ndGggaXMgcmVkdWNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDE7DQogIA0KICBmdW5jdGlvbiBjYigpe3JldHVybiB0cnVlO30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0xMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHNyY0FyclsiaSJdID0gMTA7DQogIHNyY0Fyclt0cnVlXSA9IDExOw0KDQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihjYWxsQ250ID09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGgnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDExOw0KICAgICAgICBjaGlsZFsxXSA9IDEyOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGggcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDEyLCAxMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAzOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgZnVuWzBdID0gMTI7DQogICAgICAgIGZ1blsxXSA9IDExOw0KICAgICAgICBmdW5bMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoZnVuLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzEyLCAxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IFsxMiwgMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogTmFOIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMiA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQzID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQxID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQyID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjModmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQzID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsgMDogOSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMyA9IHsgMDogOSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIxID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iajEsIGNhbGxiYWNrZm4xKTsNCiAgICAgICAgdmFyIG5ld0FycjIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqMiwgY2FsbGJhY2tmbjIpOw0KICAgICAgICB2YXIgbmV3QXJyMyA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmozLCBjYWxsYmFja2ZuMyk7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDEgJiYgbmV3QXJyMS5sZW5ndGggPT09IDAgJiYNCiAgICAgICAgICAgICFhY2Nlc3NlZDIgJiYgbmV3QXJyMi5sZW5ndGggPT09IDAgJiYgDQogICAgICAgICAgICAhYWNjZXNzZWQzICYmIG5ld0FycjMubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6ICJhc2RmIV8iIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QgaWYgJ2xlbmd0aCcgaXMgMSAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gdHJ1ZSh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IHRydWUgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0U3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZFN0ZXBPY2N1cmVkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGZpcnN0U3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBzZWNvbmRTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExICYmIGZpcnN0U3RlcE9jY3VyZWQgJiYgc2Vjb25kU3RlcE9jY3VyZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGZpcnN0U3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZFN0ZXBPY2N1cmVkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGZpcnN0U3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBzZWNvbmRTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIWFjY2Vzc2VkICYmIGZpcnN0U3RlcE9jY3VyZWQgJiYgc2Vjb25kU3RlcE9jY3VyZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDIuNjg1DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDAgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiArMCB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAtMCB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IEluZmluaXR5IH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMSwgOV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwIH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsZW5ndGhBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmopOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgbGVuZ3RoQWNjZXNzZWQgJiYgIWxvb3BBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZpbHRlcihmb28pOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZmlsdGVyKG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZmlsdGVyKHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIFsxXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0aGlzLl8xNV80XzRfMjBfNV8xID0gZmFsc2U7DQogICAgICAgIHZhciBfMTVfNF80XzIwXzVfMSA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzIwXzVfMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgc3JjQXJyID0gWzFdOw0KICAgICAgICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEFycmF5IE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakFycmF5ID0gbmV3IEFycmF5KDEwKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iakFycmF5KTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIFN0cmluZyBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpTdHJpbmcgPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEJvb2xlYW4gT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQm9vbGVhbiA9IG5ldyBCb29sZWFuKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBvYmpCb29sZWFuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIE51bWJlciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpOdW1iZXIgPSBuZXcgTnVtYmVyKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iak51bWJlcik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBNYXRoIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIE1hdGgpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIERhdGUgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iakRhdGUpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIFJlZ0V4cCBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgb2JqUmVnRXhwKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBKU09OIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBKU09OKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEVycm9yIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakVycm9yID0gbmV3IFJhbmdlRXJyb3IoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBvYmpFcnJvcik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGFyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBhcmcpOw0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICBvLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4sbyk7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAxKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgZm5HbG9iYWxPYmplY3QoKSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBmYWxzZSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IDEwMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCAxMDEpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sICJhYmMiKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIEFycmF5LmlzQXJyYXkoYXJnKSByZXR1cm5zIHRydWUgd2hlbiBhcmcgaXMgdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoZnVuY3Rpb24gKCkgeyB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShuZXdBcnIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoZSByZXR1cm5lZCBhcnJheSBpcyBpbnN0YW5jZW9mIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoZnVuY3Rpb24gKCkgeyB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyIGluc3RhbmNlb2YgQXJyYXk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybnMgYW4gYXJyYXkgd2hvc2UgbGVuZ3RoIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihmdW5jdGlvbiAoKSB7IH0pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKTsNCiAgYS5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzFdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuLGEpOw0KICBpZiggcmVzQXJyLmxlbmd0aCA9PT0gMSkNCiAgICByZXR1cm4gdHJ1ZTsNCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoaXNBcmcgbm90IHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGlubmVyT2JqKCkgew0KICAgICAgICAgICAgdGhpcy5fMTVfNF80XzIwXzVfMzAgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIF8xNV80XzRfMjBfNV8zMCA9IGZhbHNlOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzIwXzVfMzA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgc3JjQXJyID0gWzFdOw0KICAgICAgICAgICAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgICAgICB0aGlzLnJldFZhbCA9IHJlc0Fyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIG5ldyBpbm5lck9iaigpLnJldFZhbDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUocHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQogIA0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5wcm90b3R5cGUucmVzID0gdHJ1ZTsNCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQoNCiAgdmFyIHNyY0FyciA9IFsxXTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbixmKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4sZik7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAxKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBpcyBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucmVzID0gdHJ1ZTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4sZm9vKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gYnVpbHQtaW4gZnVuY3Rpb25zIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGV2YWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgZXZhbCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gRnVuY3Rpb24gT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gW10uZmlsdGVyKGNiKTsNCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBudWxsOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gZi5maWx0ZXIoY2IpOw0KICANCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAwOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gZi5maWx0ZXIoY2IpOw0KICANCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9ICcwJzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC02LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgYW4gZW1wdHkgYXJyYXkgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBzcmNBcnJbMl0gPSAzOw0KICAgICAgICAgICAgc3JjQXJyWzVdID0gNjsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHNyY0FyciA9IFsxLCAyLCAsIDQsIDVdOw0KICAgICAgICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc0Fyci5sZW5ndGggPT09IDU7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyAgICANCiAgICBzcmNBcnJbMl0gPSAtMTsNCiAgICBzcmNBcnJbNF0gPSAtMTsNCiAgICBpZih2YWwgPiAwKQ0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gMyAmJiByZXNBcnJbMF0gPT09IDEgJiYgcmVzQXJyWzJdID09PSA0KQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgc3JjQXJyWzJdOw0KICAgIGRlbGV0ZSBzcmNBcnJbNF07DQogICAgaWYodmFsID4gMCkNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSAzICYmIHJlc0FyclswXSA9PT0gMSAmJiByZXNBcnJbMl0gPT09IDQgKSAgICAvLyB0d28gZWxlbWVudHMgZGVsZXRlZA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgc3JjQXJyLmxlbmd0aCA9IDI7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNl07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSAyICkNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgY29uc2lkZXIgbmV3bHkgYWRkZWQgZWxlbWVudHMgaW4gc3BhcnNlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHNyY0FyclsxMDAwXSA9IDM7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gbmV3IEFycmF5KDEwKTsNCiAgc3JjQXJyWzFdID0gMTsNCiAgc3JjQXJyWzJdID0gMjsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAyKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIHNyY0FyclsyXTsNCiAgICBkZWxldGUgc3JjQXJyWzRdOw0KICAgIGlmKHZhbCA+IDApDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogICB9DQoNCiAgQXJyYXkucHJvdG90eXBlWzRdID0gNTsNCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVs0XTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gNCAmJiByZXNBcnJbMF0gPT09IDEgJiYgcmVzQXJyWzNdID09IDUpICAgIC8vIG9ubHkgb25lIGVsZW1lbnQgZGVsZXRlZA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHN0b3BzIGNhbGxpbmcgY2FsbGJhY2tmbiBvbmNlIHRoZSBhcnJheSBpcyBkZWxldGVkIGR1cmluZyB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICBvLnNyY0FyciA9IFsxLCAyLCAzLCA0LCA1XTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGRlbGV0ZSBvLnNyY0FycjsNCiAgICAgICAgICAgIGlmICh2YWwgPiAwKQ0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXNBcnIgPSBvLnNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXNBcnIubGVuZ3RoID09PSA1ICYmIHR5cGVvZiBvLnNyY0FyciA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmIGxlbiBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZCA9PT0gZmFsc2UgJiYgb2JqLmxlbmd0aCA9PT0gMCAmJiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMiwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IG5ldyBBcnJheSgxMCk7DQogIHNyY0FyclsxXSA9IHVuZGVmaW5lZDsgLy9leHBsaWNpdGx5IGFzc2lnbmluZyBhIHZhbHVlDQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZiggcmVzQXJyLmxlbmd0aCA9PT0gMCAmJiBjYWxsQ250ID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzFdICE9PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyICYmIG5ld0FyclsxXSAhPT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCAyOiAyLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsxXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDMgPyB0cnVlIDogZmFsc2U7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDMgJiYgbmV3QXJyWzFdID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsyXSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMyAmJiBuZXdBcnJbMl0gPT09ICJwcm90b3R5cGUiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsyXSA9PT0gInVuY29uZmlndXJhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gImxlbmd0aCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMjogNi45OSwgODogMTkgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gIT09IDYuOTk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiBuZXdBcnJbMV0gPT09IDYuOTk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDMgJiYgbmV3QXJyWzFdID09PSA2Ljk5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiBBcnJheVsxXSA9PT0gNi45OTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsxXSA9PT0gNi45OTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChpZHggPT09IDUpICYmICh2YWwgPT09IGtWYWx1ZSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiBrVmFsdWUsIGxlbmd0aDogMTAwIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0ga1ZhbHVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMiAmJiB2YWwgPT09IDEyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMCAmJiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiA1LCAxOiA2IH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTEgJiYgaWR4ID09PSAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTA7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxICYmIHZhbCA9PT0gMTI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDY7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTEgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjA7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMCAmJiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IFssICwgLCBdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gdW5kZWZpbmVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSB1bmRlZmluZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCA9PT0gdmFsICYmIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDEwOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IHVuZGVmaW5lZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCA9PT0gdmFsICYmIGlkeCA9PT0gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMDA7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSB1bmRlZmluZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSB1bmRlZmluZWQgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IHVuZGVmaW5lZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWywgXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gdW5kZWZpbmVkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMSAmJiBpZHggPT09IDA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGZ1bmMoMTEpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gZnVuYygxMSwgOSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgbmV3QXJyWzFdID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTI7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IGZ1bmMoMTEsIDEyLCA5KTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMyAmJiBuZXdBcnJbMF0gPT09IDExICYmDQogICAgICAgICAgICBuZXdBcnJbMV0gPT09IDEyICYmIG5ld0FyclsyXSA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxICYmIHZhbCA9PT0gOTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDkgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEzOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSA1KSAmJiAodmFsID09PSAiYWJjIik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDExLCA1OiAxMDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFs1XSA9ICJhYmMiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09ICJhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNTogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFycls1XSA9IDEwOw0KICAgICAgICBhcnJbMTBdID0gMTAwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSAwKSAmJiAodmFsID09PSAxMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWzEyXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gJ2FiYyc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGlkeCA9PT0gNSkgJiYgKHZhbCA9PT0ga1ZhbHVlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgNToga1ZhbHVlIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSBrVmFsdWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSAxKSAmJiAodmFsID09PSAxMyk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTM7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWywgLCAsIF0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDEzOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGlkeCA9PT0gMCkgJiYgKHZhbCA9PT0gMTEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgYlBhciA9IHRydWU7DQogIHZhciBiQ2FsbGVkID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKG9ialtpZHhdICE9PSB2YWwpDQogICAgICBiUGFyID0gZmFsc2U7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQogIHNyY0Fycls5OTk5OTldID0gLTYuNjsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIA0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIGJQYXIgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMl0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgpIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMCAmJiBhcmd1bWVudHNbMl1baWR4XSA9PT0gdmFsOw0KICAgICAgICB9DQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwICYmIG9ialtpZHhdID09PSB2YWw7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzIG9iamVjdCB0byBnZXQgcGFyYW1ldGVyIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF07DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgYm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0ndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGEgTnVtYmVyIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIHJldHVybiA1ID09PSB0aGlzLnZhbHVlT2YoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIDUpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhbiBTdHJpbmcgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgc3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gJ2hlbGxvJyA9PT0gdGhpcy52YWx1ZU9mKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8iKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSA4Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIG5vbl9pbmRleF9wcm9wZXJ0eTogOCwgMjogNSwgbGVuZ3RoOiAyMCB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBwYXJDbnQgPSAzOw0KICB2YXIgYkNhbGxlZCA9IGZhbHNlDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoICE9PSAzKQ0KICAgICAgcGFyQ250ID0gYXJndW1lbnRzLmxlbmd0aDsgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIHBhckNudCA9PT0gMykNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXNBcmcgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0aGlzQXJnID0geyB0aHJlc2hvbGQ6IDEwIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIHRoaXNBcmcpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGtWYWx1ZSBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyICYmIG5ld0FyclswXSA9PT0gMTEgJiYgbmV3QXJyWzFdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoZSBpbmRleCBrIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMDsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzBdID09PSAxMSAmJiBuZXdBcnJbMV0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXMgb2JqZWN0IE8gaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqID09PSBvOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFzY2VuZGluZyBudW1lcmljIG9yZGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDQsIDVdOw0KICAgICAgICB2YXIgbGFzdElkeCA9IDA7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0SWR4ICE9PSBpZHgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGxhc3RJZHgrKzsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3Agb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrSW5kZXggPSBbXTsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBpZiAoa0luZGV4W2lkeF0gPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIGtJbmRleFtpZHggLSAxXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBrSW5kZXhbaWR4XSA9IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gWzExLCAxMiwgMTMsIDE0XS5maWx0ZXIoY2FsbGJhY2tmbiwgdW5kZWZpbmVkKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBjYWxsZWQgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBhcmd1bWVudHMgdG8gY2FsbGJhY2tmbiBhcmUgc2VsZiBjb25zaXN0ZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQogICAgICAgIHZhciB0aGlzQXJnID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSB0aGlzQXJnICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gMCAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9PT0gb2JqOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sIHRoaXNBcmcpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAoY2FsbGVkID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNDogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIDEgPT09IGNhbGxlZCAmJiBleCBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBvYmpbaWR4ICsgMV0gPSA4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDAgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGVxdWFscyB0byAna1ZhbHVlJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IG9ialswXSAmJiBuZXdBcnJbMV0gPT09IG9ialsxXTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBvdmVyd3JpdHRlbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgdGVtcFZhbCA9IG5ld0FyclsxXTsNCiAgICAgICAgICAgIG5ld0FyclsxXSArPSAxOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclsxXSAhPT0gdGVtcFZhbDsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBlbnVtZXJhdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdmFyIHByb3A7DQogICAgICAgIHZhciBlbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAocHJvcCBpbiBuZXdBcnIpIHsNCiAgICAgICAgICAgIGlmIChuZXdBcnIuaGFzT3duUHJvcGVydHkocHJvcCkpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gIjAiKSB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBlbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBjaGFuZ2VkIG9yIGRlbGV0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHRlbXBWYWwgPSBuZXdBcnJbMV07DQogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzFdOw0KICAgICAgICAgICAgcmV0dXJuIHRlbXBWYWwgIT09IHVuZGVmaW5lZCAmJiBuZXdBcnJbMV0gPT09IHVuZGVmaW5lZDsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZXMgb2YgJ3RvJyBhcmUgcGFzc2VkIGluIGFjZW5kaW5nIG51bWVyaWMgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07DQogICAgICAgIHZhciBsYXN0VG9JZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChsYXN0VG9JZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdFRvSWR4Kys7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDUgJiYgY2FsbGVkID09PSA1Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZXMgb2YgJ3RvJyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIHdoZW4gJ3NlbGVjdGVkJyBpcyBjb252ZXJ0ZWQgdG8gdHJ1ZSBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9JbmRleCA9IFtdOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgJ3RvJyB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4NCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgJ3RvJyBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGlmICh0b0luZGV4W2lkeF0gPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIHRvSW5kZXhbaWR4IC0gMV0gPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHRvSW5kZXhbaWR4XSA9IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gWzExLCAxMiwgMTMsIDE0XS5maWx0ZXIoY2FsbGJhY2tmbiwgdW5kZWZpbmVkKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gNCAmJiBjYWxsZWQgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFsbCB0cnVlKSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iail7DQogICAgaWYodmFsICUgMikNCiAgICAgIHJldHVybiB0cnVlOyANCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDRdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgaWYgKHJlc0Fyci5sZW5ndGggPiAwKXsNCiAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJlc0FyciwgMSkgDQogICAgIGlmKGRlc2MudmFsdWUgPT09IDMgJiYgICAgICAgIC8vc3JjQXJyWzFdID0gdHJ1ZQ0KICAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgICBkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSl7DQogICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gLTU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gLUluZmluaXR5Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gTmFOOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAibm9uLWVtcHR5IHN0cmluZyI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBBcnJheSgxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmcoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlcigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEV2YWxFcnJvcigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGZhbHNlIHByZXZlbnRzIGVsZW1lbnQgYWRkZWQgdG8gb3V0cHV0IEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSAhPT0gOCAmJiBjYWxsZWQgPT09IDI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbnVsbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHJldHVybiB2YWx1ZSAobmV3IEJvb2xlYW4oZmFsc2UpKSBvZiBjYWxsYmFja2ZuIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBib29sZWFuICh2YWx1ZSBpcyBmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gKzA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW5tYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIC0wOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIwLzE1LjQuNC4yMC05LWMtaWlpLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLnJlZHVjZS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbCh1bmRlZmluZWQpOyANCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChNYXRoLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKCdbb2JqZWN0IEpTT05dJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIEpTT05bMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChKU09OLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4sIDEpOw0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbCgyLjUsIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0xMjgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbCgiYWJjIiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHJldHVybiAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IG11dGF0ZSB0aGUgQXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIDE7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICBzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICBpZihzcmNBcnJbMF0gPT09IDEgJiYNCiAgICAgc3JjQXJyWzFdID09PSAyICYmDQogICAgIHNyY0FyclsyXSA9PT0gMyAmJg0KICAgICBzcmNBcnJbM10gPT09IDQgJiYNCiAgICAgc3JjQXJyWzRdID09PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZWR1Y2VzIHRoZSBhcnJheSBpbiBhc2NlbmRpbmcgb3JkZXIgb2YgaW5kaWNlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICB9DQogIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107DQogIGlmKHNyY0Fyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09ICcxMjM0NScpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgb2YgbGVuZ3RoIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzFdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICBpZihmLnJlZHVjZShjYikgPT09IDEpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2l0aCBsZW5ndGggbW9yZSB0aGFuIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMsIDQpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCiAgaWYoZi5yZWR1Y2UoY2IpID09PSAxMCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZWR1Y2VzIHRoZSBhcnJheSBpbiBhc2NlbmRpbmcgb3JkZXIgb2YgaW5kaWNlcyhpbml0aWFsdmFsdWUgcHJlc2VudCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KICBpZihzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4sJzAnKSA9PT0gJzAxMjM0NScpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBpbml0aWFsdmFsdWUgcHJvdmlkZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzEsMiwzLDRdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCiAgaWYoZi5yZWR1Y2UoY2IsLTEpID09PSA5KQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2l0aCBsZW5ndGggMSBhbmQgaW5pdGlhbHZhbHVlIHByb3ZpZGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IFsxXTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmdW5jdGlvbiBjYihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9DQogIGlmKGYucmVkdWNlKGNiLC0xKSA9PT0gMCkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0xMC04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIGN1clZhbDsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KICBzcmNBcnJbImkiXSA9IDEwOw0KICBzcmNBcnJbdHJ1ZV0gPSAxMTsNCiAgc3JjQXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCg0KICBpZihjYWxsQ250ID09IDQpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMg0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTINCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTE7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGgnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gOTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygxMiwgMTEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMyk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChzdHIsIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChmdW4sIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTIsIDExXS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RvcmVQcm90b0xlbmd0aDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgc3RvcmVQcm90b0xlbmd0aCA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCg0KICAgICAgICAgICAgcmV0dXJuIFsxMiwgMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBzdG9yZVByb3RvTGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gMTI7DQogICAgICAgIG9ialsxXSA9IDExOw0KICAgICAgICBvYmpbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIG51bWJlciBwcmltaXRpdmUgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiLTQyOTQ5NjcyOTQiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMiA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQzID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQxID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQyID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjMocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQzID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsgMDogOSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMyA9IHsgMDogOSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqMSwgY2FsbGJhY2tmbjEsIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqMiwgY2FsbGJhY2tmbjIsIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqMywgY2FsbGJhY2tmbjMsIDEpID09PSAxICYmDQogICAgICAgICAgICAhYWNjZXNzZWQxICYmICFhY2Nlc3NlZDIgJiYgIWFjY2Vzc2VkMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjJFMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjB4MDAwMiIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjAwMDIuMDAiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6ICJhc2RmIV8iIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IHRydWUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZPY2N1cmVkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ09jY3VyZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZk9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ09jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWUgJiYgdmFsdWVPZk9jY3VyZWQgJiYgdG9TdHJpbmdPY2N1cmVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiAxMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyLjY4NQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMSwgMTogMSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6ICswIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IC0wIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCA5XS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSkgPT09IGZhbHNlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwIH07DQogICAgICAgIHZhciBsZW5ndGhBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgbG9vcEFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxlbmd0aEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGxlbmd0aEFjY2Vzc2VkICYmICFsb29wQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZShmb28pOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gY2IoKXt9DQogIA0KICB0cnkgew0KICAgIFtdLnJlZHVjZShjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGlmIGV4Y2VwdGlvbiBvY2N1cnMsIGl0IG9jY3VycyBhZnRlciBhbnkgc2lkZS1lZmZlY3RzIHRoYXQgbWlnaHQgYmUgcHJvZHVjZWQgYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGlmIHRoZSBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIwIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBudWxsOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZShjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAwOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9ICcwJzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2luaXRpYWxWYWx1ZScgaXMgcmV0dXJuZWQgaWYgJ2xlbicgaXMgMCBhbmQgJ2luaXRpYWxWYWx1ZScgaXMgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFtdLnJlZHVjZShjYWxsYmFja2ZuLCAzKSA9PT0gMyAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBjYigpe30NCiAgDQogIHRyeSB7DQogICAgaWYoW10ucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdpbml0aWFsVmFsdWUnIGlzIHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSAiaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQiOw0KICAgICAgICByZXR1cm4gc3RyID09PSBbXS5yZWR1Y2UoZnVuY3Rpb24gKCkgeyB9LCBzdHIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtICdpbml0aWFsVmFsdWUnIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RyID0gImluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudCI7DQogICAgICAgIHJldHVybiBzdHIgPT09IFtzdHJdLnJlZHVjZShmdW5jdGlvbiAoKSB7IH0pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJldHVybnMgaW5pdGlhbFZhbHVlIGlmICdsZW5ndGgnIGlzIDAgYW5kIGluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFswXSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gWzBdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgJ2xlbicgaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgaW4gc3RlcCA5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHg7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAzOiAxMiwgNDogOSwgbGVuZ3RoOiA0IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmoubGVuZ3RoID0gMTA7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBsb29wIGlzIGJyb2tlbiBvbmNlICdrUHJlc2VudCcgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBmaXJzdENhbGxlZCA9IDA7DQogICAgICAgIHZhciBzZWNvbmRDYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGNhbGxlZCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoaWR4ID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssICwgXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGZpcnN0Q2FsbGVkKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHNlY29uZENhbGxlZCsrOw0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBmaXJzdENhbGxlZCA9PT0gMSAmJiBzZWNvbmRDYWxsZWQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMV0gPSAiYWNjdW11bGF0b3IiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KSA9PT0gImFjY3VtdWxhdG9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6ICJhY2N1bXVsYXRvciIsIDI6ICJhbm90aGVyIiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gImFjY3VtdWxhdG9yIiAhPT0gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMiB9Ow0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gd2hlbiBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMDsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiOSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAxOiAxLCAyOiAyfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiOSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjkiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAxOiAxLCAyOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVswXSA9IDA7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMDsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMTogMSwgMjogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5kZXggcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDA7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSAyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAzOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzFdOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygwLCAxLCAyLCAzKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYiArIGM7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDA7DQogICAgICAgIG9ialsxXSA9IDE7DQogICAgICAgIG9ialsyXSA9IDI7DQogICAgICAgIG9ialszXSA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAiOSI7DQogICAgICAgIGNoaWxkWzFdID0gIjEiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBjdXJyZW50IGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAyXTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBjdXJyZW50IGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZXhjZXB0aW9uIGluIGdldHRlciB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCAxOiAxLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkICYmICF0ZXN0UmVzdWx0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZXhjZXB0aW9uIGluIGdldHRlciB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgIXRlc3RSZXN1bHQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAiOSI7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjkiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiOSIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzFdID0gIjEiOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiNSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAzIH07DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAwOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7DQogICAgICAgICAgICBbLCAsICxdLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWItaWlpLTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIEFycmF5IGlzIGVtcHR5IGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGVsZW1lbnRzIGFzc2lnbmVkIHZhbHVlcyBhcmUgZGVsZXRlZCBieSByZWR1Y2luZyBhcnJheSBsZW5ndGggYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICBhcnJbOV0gPSAxOw0KICBhcnIubGVuZ3RoID0gNTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGVsZW1lbnRzIGFzc2lnbmVkIHZhbHVlcyBhcmUgZGVsZXRlZCBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBkZWxldGUgYXJyWzBdOw0KICBkZWxldGUgYXJyWzFdOw0KICBkZWxldGUgYXJyWzJdOw0KICBkZWxldGUgYXJyWzNdOw0KICBkZWxldGUgYXJyWzRdOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogIH0gDQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgZG9lc24ndCB0aHJvdyBlcnJvciB3aGVuIGFycmF5IGhhcyBubyBvd24gcHJvcGVydGllcyBidXQgcHJvdG90eXBlIGNvbnRhaW5zIGEgc2luZ2xlIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAsIF07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9ICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBpZiBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBpZiBleGNlcHRpb24gb2NjdXJzLCBpdCBvY2N1cnMgYWZ0ZXIgYW55IHNpZGUtZWZmZWN0cyB0aGF0IG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS04LWMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYXJyWzVdID0gNjsNCiAgICAgICAgICAgIGFyclsyXSA9IDM7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgLCA0LCAnNSddOw0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gIjEwNSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBjYWxsZWQgd2l0aCBhbiBpbml0aWFsIHZhbHVlIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICBhcnJbNV0gPSA2Ow0KICAgIGFyclsyXSA9IDM7ICAgDQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwsNCwnNSddOw0KICByZXR1cm4gYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiIikgPT09ICIxMjM0NSI7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFyclszXSA9IC0yOw0KICAgIGFycls0XSA9IC0xOw0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAzKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICANCiAgew0KICAgIGRlbGV0ZSBhcnJbM107DQogICAgZGVsZXRlIGFycls0XTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgDQogIH0NCg0KICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsNCiAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gIjEyMyIgICkgICAgLy8gdHdvIGVsZW1lbnRzIGRlbGV0ZWQNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyLmxlbmd0aCA9IDI7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGlmKGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09IDMgKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBhcnJheSB3aXRoIG9uZSBlbGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiAyOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCiAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gMSAmJiBjYWxsQ250ID09PSAwICkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSAgDQogIHsNCiAgICBkZWxldGUgYXJyWzNdOw0KICAgIGRlbGV0ZSBhcnJbNF07DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7ICAgIA0KICB9DQoNCiAgQXJyYXkucHJvdG90eXBlWzRdID0gNTsNCiAgdmFyIGFyciA9IFsnMScsMiwzLDQsNV07DQogIHZhciByZXMgPSBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzRdOw0KDQogIGlmKHJlcyA9PT0gIjEyMzUiICApICAgIC8vb25lIGVsZW1lbnQgYWN1YWxseSBkZWxldGVkDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHN0b3BzIGNhbGxpbmcgY2FsbGJhY2tmbiBvbmNlIHRoZSBhcnJheSBpcyBkZWxldGVkIGR1cmluZyB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgZGVsZXRlIG8uYXJyOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgICAgICAgby5hcnIgPSBbJzEnLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgcmV0dXJuIG8uYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gIjEyMzQ1IiAmJiAhby5oYXNPd25Qcm9wZXJ0eSgiYXJyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmICdsZW4nIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgY2FsbGJhY2tBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGJhY2tBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmICFjYWxsYmFja0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zIGluIHN0ZXAgOQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBhY2N1bSArIHZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBY2N1bSA9IGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KDQogICAgICAgIHJldHVybiBuZXdBY2N1bSA9PT0gImluaXRpYWxWYWx1ZTAxIiAmJiBjYWxsZWQgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsdmFsdWUgd2hlbiBBcnJheSBpcyBlbXB0eSBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCg0KICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4sNSkgPT09IDUpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGluIHN0ZXAgOCBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzNdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGluIHN0ZXAgOCBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssICwgLCAzXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGluIHN0ZXAgOCBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDExMSwgNDogMTAsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGluIHN0ZXAgOCBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgaW4gc3RlcCA4IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMyAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjMiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBhZGRlZCB0byBwcm90b3R5cGUgYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAiMiIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgb2JqWzJdID0gIjIiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDRdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbM10gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgLCAzXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCA0OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6ICIyIiwgMzogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZCAmJiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMyAmJiB2YWwgPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjMiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBpbiBzdGVwIDggYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDRdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIGN1clZhbDsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICBhcnJbMF0gPSBhcnJbMV0gPSB1bmRlZmluZWQ7IC8vZXhwbGljaXRseSBhc3NpZ25pbmcgYSB2YWx1ZQ0KICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gdW5kZWZpbmVkICYmIGNhbGxDbnQgPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAyIH07DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAyOiAyfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDIsIF07DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMjogMiwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgIA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMjogMiwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAyOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIsIDMpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQogICAgIA0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoc3RyLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiICsgYzsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMDsNCiAgICAgICAgb2JqWzFdID0gMTsNCiAgICAgICAgb2JqWzJdID0gMjsNCiAgICAgICAgb2JqWzNdID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAiMTEiOw0KICAgICAgICBjaGlsZFsyXSA9ICIyMiI7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAyXTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPj0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgIXRlc3RSZXN1bHQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS0zMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPj0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZCAmJiAhdGVzdFJlc3VsdDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9ICIzIjsNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiOSIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMV0gPSAiMSI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI5IjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDA7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMjsNCiAgICAgICAgICAgIFssICwgLCBdLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIG5vdCBwYXNzZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGlmKGlkeCA+IDAgJiYgb2JqW2lkeF0gPT09IGN1clZhbCAmJiBvYmpbaWR4LTFdID09PSBwcmV2VmFsKQ0KICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICBlbHNlIA0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gImZpdmUiKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsKSB7DQogICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChjdXJWYWwgPiAxMCAmJiAxID09PSBwcmV2VmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCkgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHByZXZWYWwgPT09IDEgJiYgYXJndW1lbnRzWzNdW2lkeF0gPT09IGN1clZhbCk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCA0IGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMSAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50c1szXVthcmd1bWVudHNbMl1dID09PSBhcmd1bWVudHNbMV0pOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGN1clZhbCA9PT0gOCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKHByZXZWYWwgPT09IDgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTA6IDEyLCBub25faW5kZXhfcHJvcGVydHk6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2FjY3VtdWxhdG9yJyB1c2VkIGZvciBjdXJyZW50IGl0ZXJhdGlvbiBpcyB0aGUgcmVzdWx0IG9mIHByZXZpb3VzIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJlSXRlcmF0aW9uID0gMTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAocHJlSXRlcmF0aW9uICE9PSBwcmV2VmFsKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBwcmVJdGVyYXRpb24gPSBjdXJWYWw7DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExLCAxMiwgMTNdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2FjY3VtdWxhdG9yJyB1c2VkIGZvciBmaXJzdCBpdGVyYXRpb24gaXMgdGhlIHZhbHVlIG9mICdpbml0aWFsVmFsdWUnIHdoZW4gaXQgaXMgcHJlc2VudCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAoYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2FjY3VtdWxhdG9yJyB1c2VkIGZvciBmaXJzdCBpdGVyYXRpb24gaXMgdGhlIHZhbHVlIG9mIGxlYXN0IGluZGV4IHByb3BlcnR5IHdoaWNoIGlzIG5vdCB1bmRlZmluZWQgd2hlbiAnaW5pdGlhbFZhbHVlJyBpcyBub3QgcHJlc2VudCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMTEpICYmIGN1clZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgOV0ucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGNhbGxlZCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoaW5pdGlhbHZhbHVlIHBhc3NlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGJQYXJDb3JyZWN0ID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGlmKGlkeCA9PT0gMCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIHByZXZWYWwgPT09IGluaXRpYWxWYWx1ZSkNCiAgICAgIHJldHVybiBjdXJWYWw7DQogICAgZWxzZSBpZihpZHggPiAwICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgb2JqW2lkeC0xXSA9PT0gcHJldlZhbCkNCiAgICAgIHJldHVybiBjdXJWYWw7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICB2YXIgaW5pdGlhbFZhbHVlID0gNS41Ow0KICBpZiggYXJyLnJlZHVjZShjYWxsYmFja2ZuLGluaXRpYWxWYWx1ZSkgPT09ICJmaXZlIikgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdW5kZWZpbmVkIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIHByZXZWYWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB1bmRlZmluZWQpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbnVsbCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG51bGw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG51bGwpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gYm9vbGVhbiBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gbnVtYmVyIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IDEyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3RyaW5nIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09ICJoZWxsb18iOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG9fIikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gRnVuY3Rpb24gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG9iakZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpGdW5jdGlvbikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gQXJyYXkgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBuZXcgQXJyYXkoMTApOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqQXJyYXkpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gU3RyaW5nIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpTdHJpbmcpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gQm9vbGVhbiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqQm9vbGVhbikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gTnVtYmVyIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpOdW1iZXIpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIHRha2VzIDQgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBiQ2FsbGVkID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihwcmV2VmFsID09PSB0cnVlICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDQpICAgDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuLHRydWUpID09PSB0cnVlICYmIGJDYWxsZWQgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIE1hdGggb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgTWF0aCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gRGF0ZSBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRGF0ZSkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gUmVnRXhwIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpSZWdFeHApID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIEpTT04gY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBKU09OKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gRXJyb3Igb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRXJyb3IpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIEFyZ3VtZW50cyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGFyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDEwLCAxMSwgMTIsIDEzKSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGFyZykgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGdsb2JhbCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmbkdsb2JhbE9iamVjdCgpKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHVuZGVmaW5lZCBwYXNzZWQgYXMgdGhpc1ZhbHVlIHRvIHN0cmljdCBjYWxsYmFja2ZuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KICB2YXIgaW5uZXJUaGlzQ29ycmVjdCA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsgDQogICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT11bmRlZmluZWQ7DQogICAgIHJldHVybiB0cnVlOw0KICB9DQogIFswXS5yZWR1Y2UoY2FsbGJhY2tmbix0cnVlKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFjZW5kaW5nIG51bWVyaWMgb3JkZXIgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIHZhciBsYXN0SWR4ID0gMDsNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4Kys7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIDExKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3Agb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICB2YXIga0luZGV4ID0gW107DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIC8vQnkgYmVsb3cgd2F5LCB3ZSBjb3VsZCB2ZXJpZnkgdGhhdCBrIHdvdWxkIGJlIHNldHRlZCBhcyAwLCAxLCAuLi4sIGxlbmd0aCAtIDEgaW4gb3JkZXIsIGFuZCBlYWNoIHZhbHVlIHdpbGwgYmUgc2V0dGVkIG9uZSB0aW1lLg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgayBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgcHJldmlvdXMgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgMTIsIDEzLCAxNF0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQgJiYgY2FsbGVkID09PSA0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDQ6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAoY3VyVmFsID09PSA4KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIxLzE1LjQuNC4yMS05LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDAgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgMTJdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQ7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQubGVuZ3RoIG11c3QgYmUgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKHVuZGVmaW5lZCk7IA0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBNYXRoXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKE1hdGgsIGNhbGxiYWNrZm4sIDEpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGhbMF07DQogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvIGluc3RhbmNlb2YgUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgSlNPTl0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoSlNPTiwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQogICAgICAgICAgICBkZWxldGUgSlNPTlswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbyBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJhIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZhbHNlLCBjYWxsYmFja2ZuLCAxKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoMi41LCBjYWxsYmFja2ZuLCAxKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMTI4KTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSAxMjsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG8gaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoImhlbGxvXG53b3JsZFxcISIsIGNhbGxiYWNrZm4sICJoIikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiaGVsbG9cbndvcmxkXFwhIik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImgiKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG8gaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gMTsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHNyY0Fyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgaWYoc3JjQXJyWzBdID09PSAxICYmDQogICAgIHNyY0FyclsxXSA9PT0gMiAmJg0KICAgICBzcmNBcnJbMl0gPT09IDMgJiYNCiAgICAgc3JjQXJyWzNdID09PSA0ICYmDQogICAgIHNyY0Fycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJlZHVjZXMgYXJyYXkgaW4gZGVzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsNCiAgaWYoc3JjQXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAnNTQzMjEnKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aXRoIGxlbmd0aCAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IFsxXTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgaWYoZi5yZWR1Y2VSaWdodChjYikgPT09IDEpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aXRoIGxlbmd0aCBtb3JlIHRoYW4gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMCwgMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQ0KICBpZihmLnJlZHVjZVJpZ2h0KGNiKSA9PT0gNikNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJlZHVjZXMgYXJyYXkgaW4gZGVzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzKGluaXRpYWx2YWx1ZSBwcmVzZW50KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICB9DQogIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107DQogIGlmKHNyY0Fyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCc2JykgPT09ICc2NTQzMjEnKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGluaXRpYWx2YWx1ZSBwcm92aWRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMCwgMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQ0KICBpZihmLnJlZHVjZVJpZ2h0KGNiLCI0IikgPT09ICI0MzIxMCIpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGxlbmd0aCB0byAxIGFuZCBpbml0aWFsdmFsdWUgcHJvdmlkZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzFdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCiAgaWYoZi5yZWR1Y2VSaWdodChjYiwiNCIpID09PSAiNDEiKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0xMC04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KICBzcmNBcnJbImkiXSA9IDEwOw0KICBzcmNBcnJbdHJ1ZV0gPSAxMTsNCg0KICBzcmNBcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgaWYoY2FsbENudCA9PSA0KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQoNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2Ygb2JqLmxlbmd0aCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTExKSA9PT0gMTExICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2Ygb2JqLmxlbmd0aCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDEzIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDExKSA9PT0gMTEgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTE7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxMTEpID09PSAxMTEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTExKSA9PT0gMTExICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAxMjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSA5Ow0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4sIDExMSkgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgMTEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDEyLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiNDMyIik7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAzOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMSI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoc3RyLCBjYWxsYmFja2ZuLCAxMTEpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChmdW4sIGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTIsIDExXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCg0KICAgICAgICAgICAgcmV0dXJuIFsxMiwgMTFdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gOTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEsIDExMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCAyOiA5LCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjIuNSIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkMSA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQyID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZDMgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMShwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDEgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQyID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4zKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkMyA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqMSA9IHsgMDogOSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmoyID0geyAwOiA5LCBsZW5ndGg6ICItSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmozID0geyAwOiA5LCBsZW5ndGg6ICIrSW5maW5pdHkiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iajEsIGNhbGxiYWNrZm4xLCAxKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqMiwgY2FsbGJhY2tmbjIsIDIpID09PSAyICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmozLCBjYWxsYmFja2ZuMywgMykgPT09IDMgJiYNCiAgICAgICAgICAgICFhY2Nlc3NlZDEgJiYgIWFjY2Vzc2VkMiAmJiAhYWNjZXNzZWQzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDgsIGxlbmd0aDogInR3byIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgPT09IDExICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QgZnJvbSBPYmplY3QNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgICAgICAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDIgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBhbiBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgMCAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IGZhbHNlIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDIgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDIgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogMi42ODUgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogOSwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAtNDI5NDk2NzI5NCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2NhbGxiYWNrZm4nIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2N1bSArPSB2YWw7DQogICAgICAgICAgICByZXR1cm4gYWNjdW07DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gMjAgPT09IFsxMSwgOV0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2FsbGluZyB3aXRoIG5vIGNhbGxiYWNrZm4gaXMgdGhlIHNhbWUgYXMgcGFzc2luZyB1bmRlZmluZWQgZm9yIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5yZWZlcmVuY2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlUmlnaHQoZm9vKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodChudWxsKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodCh0cnVlKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KDUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KCJhYmMiKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IFtbQ2FsbF1dIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KG5ldyBPYmplY3QoKSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBjYigpe30NCiAgDQogIHRyeSB7DQogICAgW10ucmVkdWNlUmlnaHQoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc2lkZS1lZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc2lkZS1lZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIwIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlUmlnaHQoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi01LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnaW5pdGlhbFZhbHVlJyBpcyByZXR1cm5lZCBpZiAnbGVuJyBpcyAwIGFuZCAnaW5pdGlhbFZhbHVlJyBpcyBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMTA7DQogICAgICAgIHJldHVybiBpbml0aWFsVmFsdWUgPT09IFtdLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uICgpIHsgfSwgaW5pdGlhbFZhbHVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCl7fQ0KICANCiAgdHJ5IHsNCiAgICBpZihbXS5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2luaXRpYWxWYWx1ZScgaXMgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9ICJpbml0aWFsVmFsdWUgaXMgcHJlc2VudCI7DQogICAgICAgIHJldHVybiBzdHIgPT09IFtdLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uICgpIHsgfSwgc3RyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gJ2luaXRpYWxWYWx1ZScgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSAiaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50IjsNCiAgICAgICAgcmV0dXJuIHN0ciA9PT0gW3N0cl0ucmVkdWNlUmlnaHQoZnVuY3Rpb24gKCkgeyB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFtdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi03LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggWzBdKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbMF07DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiAnbGVuJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucyBpbiBzdGVwIDkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcmVWYWwgPSBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHByZVZhbCA9PT0gMTEgJiYgY2FsbGVkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtICB3aGlsZSBsb29wIGlzIGJyZWFrZW4gb25jZSAna1ByZXNlbnQnIGlzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgZmlyc3RDYWxsZWQgPSAwOw0KICAgICAgICB2YXIgc2Vjb25kQ2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGlkeCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGZpcnN0Q2FsbGVkKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc2Vjb25kQ2FsbGVkKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgZmlyc3RDYWxsZWQgPT09IDEgJiYgc2Vjb25kQ2FsbGVkID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAiYWNjdW11bGF0b3IiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKSA9PT0gImFjY3VtdWxhdG9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogImFjY3VtdWxhdG9yIiwgMzogImFub3RoZXIiIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAiYWNjdW11bGF0b3IiICE9PSBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsICwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjIwIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjIwIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIyMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjIwIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMjAiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDEsICwgXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMjAiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAxLCAsIF07DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHByZXZWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzJdID0gMjsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAzIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIHByZXZWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAyOw0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMiIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgMSwgLCBdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIsIDMpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKHN0ciwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYiArIGM7DQogICAgICAgIH07DQoNCiAgICAgICAgb2JqWzBdID0gMDsNCiAgICAgICAgb2JqWzFdID0gMTsNCiAgICAgICAgb2JqWzJdID0gMjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIyMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAiMTAiOw0KICAgICAgICBjaGlsZFsyXSA9ICIyMCI7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIGN1cnJlbnQgaXRlcmF0aW9uIGlzIG9ic2VydmVkIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxICYmIHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswXTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIGN1cnJlbnQgaXRlcmF0aW9uIGlzIG9ic2VydmVkIHN1YnNlcXVldGx5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyICYmIGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBFeGNlcHRpb24gaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPD0gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBFeGNlcHRpb24gaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPD0gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9ICIxMSI7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQogICAgICAgIGNoaWxkWzBdID0gIjAiOw0KICAgICAgICBjaGlsZFsxXSA9ICIxIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMiIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMjAiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDA7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMjsNCiAgICAgICAgICAgIFssICwgLF0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWItaWlpLTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIHdoZW4gQXJyYXkgaXMgZW1wdHkgYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgfSANCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIHdoZW4gZWxlbWVudHMgYXNzaWduZWQgdmFsdWVzIGFyZSBkZWxldGVkIGJ5IHJlZHVjaWduIGFycmF5IGxlbmd0aCBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFycls5XSA9IDE7DQogIGFyci5sZW5ndGggPSA1Ow0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgfSANCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIHdoZW4gZWxlbWVudHMgYXNzaWduZWQgdmFsdWVzIGFyZSBkZWxldGVkIGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGRlbGV0ZSBhcnJbMF07DQogIGRlbGV0ZSBhcnJbMV07DQogIGRlbGV0ZSBhcnJbMl07DQogIGRlbGV0ZSBhcnJbM107DQogIGRlbGV0ZSBhcnJbNF07DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBkb2Vzbid0IHRocm93IGVycm9yIHdoZW4gYXJyYXkgaGFzIG5vIG93biBwcm9wZXJ0aWVzIGJ1dCBwcm90b3R5cGUgY29udGFpbnMgYSBzaW5nbGUgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gInByb3RvdHlwZSI7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi04LWMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMgd2hpY2ggaW5kZXggaXMgbGFyZ2VyIHRoYW4gYXJyYXkgb3JpZ2luYWwgbGVuZ3RoIGFkZGVkIHRvIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZCwgY29uc2lkZXIgbmV3IGVsZW1lbnRzIHdoaWNoIGluZGV4IGlzIHNtYWxsZXIgdGhhbiBhcnJheSBsZW5ndGgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFycls1XSA9IDY7DQogICAgICAgICAgICBhcnJbMl0gPSAzOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWycxJywgMiwgLCA0LCAnNSddOw0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAiNTQzMjEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyWzNdID0gLTI7DQogICAgYXJyWzBdID0gLTE7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMTMpDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBjb25zaWRlciB1bnZpc2l0ZWQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICANCiAgew0KICAgIGRlbGV0ZSBhcnJbMV07DQogICAgZGVsZXRlIGFycls0XTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgDQogIH0NCg0KICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsNCiAgaWYoYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAiMTIxIiApICAgIC8vIHR3byBlbGVtZW50cyBkZWxldGVkDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBjb25zaWRlciB1bnZpc2l0ZWQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyLmxlbmd0aCA9IDI7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMTIgKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGFycmF5IHdpdGggb25lIGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIDI7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBpZihhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09IDEgJiYgY2FsbENudCA9PT0gMCApDQogICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICANCiAgew0KICAgIGRlbGV0ZSBhcnJbMV07DQogICAgZGVsZXRlIGFyclsyXTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgDQogIH0NCiAgQXJyYXkucHJvdG90eXBlWzJdID0gNjsNCiAgdmFyIGFyciA9IFsnMScsMiwzLDQsNV07DQogIHZhciByZXMgPSBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQoNCiAgaWYocmVzID09PSAiMTUxIiApICAgIC8vb25lIGVsZW1lbnQgZGVsZXRlZA0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgbm90IGFmZmVjdCBjYWxsIHdoZW4gdGhlIGFycmF5IGlzIGRlbGV0ZWQgZHVyaW5nIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBkZWxldGUgby5hcnI7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICBvLmFyciA9IFsnMScsIDIsIDMsIDQsIDVdOw0KICAgICAgICByZXR1cm4gby5hcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09ICIxNDEiICYmICFvLmhhc093blByb3BlcnR5KCJhcnIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgJ2xlbicgaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9LCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCB3aWxsIGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KDQogICAgICAgIHJldHVybiBjYWxsZWQgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWx2YWx1ZSB3aGVuIEFycmF5IGlzIGVtcHR5IGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgDQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLDUpID09PSA1KQ0KICAgIHJldHVybiB0cnVlOyAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzNdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzNdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAsIF07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxMTEsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiBjdXJWYWwgPT09ICJwcm90b3R5cGUiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBpbiBzdGVwIDggZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgY3VyVmFsID09PSAidW5jb25maWd1cmFibGUiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJ1bmNvbmZpZ3VyYWJsZSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDAgJiYgY3VyVmFsID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDYgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIGN1clZhbCA9PT0gIjIiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsyXSA9ICIyIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBjYW4gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTAsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCA0XTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzNdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsICwgXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDExMSwgNDogMTAsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIGN1clZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiBjdXJWYWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6ICIyIiwgMzogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkICYmIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGluIHN0ZXAgOCBjYW4gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCAmJiBjdXJWYWwgPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGluIHN0ZXAgOCBjYW4gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGluIHN0ZXAgOCB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIGN1clZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiA2IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGluIHN0ZXAgOCB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIGN1clZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgaW5kZXhlcyBuZXZlciBiZWVuIGFzc2lnbmVkIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gY3VyVmFsOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclswXSA9IGFyclsxXSA9IHVuZGVmaW5lZDsgLy9leHBsaWNpdGx5IGFzc2lnbmluZyBhIHZhbHVlDQogIGlmKCBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09IHVuZGVmaW5lZCAmJiBjYWxsQ250ID09PSAxKQ0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMiB9Ow0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDExLCAyOiAyIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICIxIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTE7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsICwyXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDJ9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsMl07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjEiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAyOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBjdXJWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBjdXJWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgY3VyVmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIGFuIGdsb2JhbCBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5kZXggcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAzKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMiwgMyk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoc3RyLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiICsgYzsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMDsNCiAgICAgICAgb2JqWzFdID0gMTsNCiAgICAgICAgb2JqWzJdID0gMjsNCiAgICAgICAgb2JqWzNdID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAxMCwgMTogMTEsIDI6IDEyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAiMSI7DQogICAgICAgIGNoaWxkWzJdID0gIjIiOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssICxdOw0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAzIH07DQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA8PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS0zMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA8PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAiMTEiOw0KICAgICAgICAgICAgWzAsIDEsIDJdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogIjAiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFsxXSA9ICIxIjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAwOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7DQogICAgICAgICAgICBbLCAsICwgXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChpbml0aWFsdmFsdWUgbm90IHBhc3NlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgaWYoaWR4KzEgPCBvYmoubGVuZ3RoICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgb2JqW2lkeCsxXSA9PT0gcHJldlZhbCkNCiAgICAgIHJldHVybiBjdXJWYWw7DQogICAgZWxzZSANCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCiAgaWYoIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMCkgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDEgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDEwMCkgPT09IDEwMCAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDIgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCkgew0KICAgICAgICAgICAgaWYgKHByZXZWYWwgPT09IDEwMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgMTAwKSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDMgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFsxMSwgMTIsIDEzXTsNCiAgICAgICAgdmFyIGluaXRWYWwgPSA2Ljk5Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgpIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IGluaXRWYWwpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwICYmIGFyZ3VtZW50c1szXVtpZHhdID09PSBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIGluaXRWYWwpID09PSB0cnVlICYmIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDQgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMSwgMTIsIDEzXTsNCiAgICAgICAgdmFyIGluaXRWYWwgPSA2Ljk5Ow0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gaW5pdFZhbCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTAgJiYgb2JqW2lkeF0gPT09IGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgaW5pdFZhbCkgPT09IHRydWUgJiYgdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsYmFja2ZuIHVzZXMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXSA9PT0gMTAwICYmIGFyZ3VtZW50c1szXVthcmd1bWVudHNbMl1dID09PSBhcmd1bWVudHNbMV07DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxMDApID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBub24taW5kZXhlZCBwcm9wZXJ0aWVzIGFyZSBub3QgY2FsbGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKHByZXZWYWwgPT09IDggfHwgY3VyVmFsID09PSA4KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTA6IDEyLCBub25faW5kZXhfcHJvcGVydHk6IDgsIGxlbmd0aDogMjAgfTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiAhdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGN1cnJlbnQgaXRlcmF0aW9uIGlzIHRoZSByZXN1bHQgb2YgcHJldmlvdXMgaXRlcmF0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzExLCAxMiwgMTNdOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBpbml0VmFsID0gNi45OTsNCiAgICAgICAgdmFyIHByZVJlc3VsdCA9IGluaXRWYWw7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAocHJldlZhbCAhPT0gcHJlUmVzdWx0KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcHJlUmVzdWx0ID0gY3VyVmFsOw0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCBpbml0VmFsKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGZpcnN0IGl0ZXJhdGlvbiBpcyB0aGUgdmFsdWUgb2YgJ2luaXRpYWxWYWx1ZScgd2hlbiBpdCBpcyBwcmVzZW50IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzExLCAxMl07DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0VmFsID0gNi45OTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IGluaXRWYWwpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCBpbml0VmFsKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGZpcnN0IGl0ZXJhdGlvbiBpcyB0aGUgdmFsdWUgb2YgbWF4IGluZGV4IHByb3BlcnR5IHdoaWNoIGlzIG5vdCB1bmRlZmluZWQgd2hlbiAnaW5pdGlhbFZhbHVlJyBpcyBub3QgcHJlc2VudCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMSwgMTIsIDEzXTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEzKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBjdXJWYWw7DQogICAgICAgIH0NCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChpbml0aWFsdmFsdWUgcGFzc2VkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBiUGFyQ29ycmVjdCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIHRydWUsIG51bGwsIG5ldyBPYmplY3QoKSwgImZpdmUiXTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDUuNTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IG9iai5sZW5ndGggLSAxICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgcHJldlZhbCA9PT0gaW5pdGlhbFZhbHVlKQ0KICAgICAgICAgICAgICAgIHJldHVybiBjdXJWYWw7DQogICAgICAgICAgICBlbHNlIGlmIChpZHggKyAxIDwgb2JqLmxlbmd0aCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIG9ialtpZHggKyAxXSA9PT0gcHJldlZhbCkNCiAgICAgICAgICAgICAgICByZXR1cm4gY3VyVmFsOw0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB1bmRlZmluZWQgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdW5kZWZpbmVkKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBudWxsIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gbnVsbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBudWxsKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gMTI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTIpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gImhlbGxvXyI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImhlbGxvXyIpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBGdW5jdGlvbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRnVuY3Rpb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG9iakZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iakZ1bmN0aW9uKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBBcnJheSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBbXTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqQXJyYXk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqQXJyYXkpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBTdHJpbmcgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9ialN0cmluZykgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBCb29sZWFuIE9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpCb29sZWFuKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBOdW1iZXIgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iak51bWJlcikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gdGFrZXMgNCBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGJDYWxsZWQgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7IA0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKHByZXZWYWwgPT09IHRydWUgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gNCkgICANCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBpZihhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbix0cnVlKSA9PT0gdHJ1ZSAmJiBiQ2FsbGVkID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgTWF0aCBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIE1hdGgpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBEYXRlIE9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpEYXRlKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBSZWdFeHAgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9ialJlZ0V4cCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgSlNPTiBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IEpTT047DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgSlNPTikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBFcnJvciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCiAgICAgICAgDQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRXJyb3IpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMTAsIDExLCAxMiwgMTMpKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBhcmcpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZm5HbG9iYWxPYmplY3QoKSkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAxMCBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdW5kZWZpbmVkIHBhc3NlZCBhcyB0aGlzVmFsdWUgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICAgInVzZSBzdHJpY3QiOw0KICAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgWzBdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sdHJ1ZSk7DQogIHJldHVybiBpbm5lclRoaXNDb3JyZWN0OyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGsgdmFsdWVzIGFyZSBwYXNzZWQgaW4gYWNlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSBhcnIubGVuZ3RoIC0gMTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4LS07DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGsgdmFsdWVzIGFyZSBhY2Nlc3NlZCBkdXJpbmcgZWFjaCBpdGVyYXRpb24gYW5kIG5vdCBwcmlvciB0byBzdGFydGluZyB0aGUgbG9vcCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMTEsIDEyLCAxMywgMTRdOw0KICAgICAgICB2YXIga0luZGV4ID0gW107DQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgayB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4NCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmICh0eXBlb2Yga0luZGV4W2lkeF0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIG5leHQgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gYXJyLmxlbmd0aCAtIDEgJiYgdHlwZW9mIGtJbmRleFtpZHggKyAxXSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGtJbmRleFtpZHhdID0gMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQgJiYgY2FsbGVkID09PSA0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGNhbGxiYWNrZm4gdGVybWluYXRlIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4IDwgMTApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxMCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA0OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBjYWxsYmFja2ZuIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICBvYmpbaWR4IC0gMV0gPSA4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IGZhbHNlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIyLzE1LjQuNC4yMi05LWMtaWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxMSkgPT09IHRydWUgJiYgMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvMTUuNC40LjQtNS1iLWlpaS0zLWItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5jb25jYXQgd2lsbCBjb25jYXQgYW4gQXJyYXkgd2hlbiBpbmRleCBwcm9wZXJ0eSAocmVhZC1vbmx5KSBleGlzdHMgaW4gQXJyYXkucHJvdG90eXBlIChTdGVwIDUuYi5paWkuMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2xkQXJyID0gWzEwMV07DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0LmNhbGwob2xkQXJyKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IG5ld0FyclswXSA9PT0gMTAxOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBuZXdBcnIpIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gIjAiICYmIG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBuZXdBcnJbMF0gPSAxMjsNCiAgICAgICAgICAgIHZlcmlmeVdyaXRhYmxlID0gbmV3QXJyWzBdID09PSAxMjsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIG5ld0FyclswXTsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgIXZlcmlmeUNvbmZpZ3VyYWJsZSAmJiB2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeVdyaXRhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"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":"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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShzZXBhcmF0b3IpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUoc2VwYXJhdG9yLCBTdHJpbmcpCiAqLwoKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7Ci8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMFtvYmplY3QgT2JqZWN0XTFbb2JqZWN0IE9iamVjdF0yW29iamVjdCBPYmplY3RdMyIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsgeC5qb2luKG9iamVjdCkgPT09ICIwW29iamVjdCBPYmplY3RdMVtvYmplY3QgT2JqZWN0XTJbb2JqZWN0IE9iamVjdF0zIi4gQWN0dWFsOiAnICsgKHguam9pbihvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OwppZiAoeC5qb2luKG9iamVjdCkgIT09ICIwKjEqMiozIikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMCsxKzIrMyIpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpID09PSAiMCsxKzIrMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OwogIGlmICh4LmpvaW4ob2JqZWN0KSAhPT0gIjAqMSoyKjMiKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsgeC5qb2luKG9iamVjdCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMCoxKjIqMyIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19CmlmICh4LmpvaW4ob2JqZWN0KSAhPT0gIjAqMSoyKjMiKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OyB4LmpvaW4ob2JqZWN0KSA9PT0gIjAqMSoyKjMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICB4LmpvaW4ob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHguam9pbihvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB4LmpvaW4ob2JqZWN0KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIHguam9pbihvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHguam9pbihvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","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":"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":"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":"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":"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":"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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheSBpbnN0YW5jZXMgaGF2ZSBbW0NsYXNzXV0gc2V0IHRvICdBcnJheScNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFtdOw0KICB2YXIgcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKTsNCiAgaWYgKHMgPT09ICdbb2JqZWN0IEFycmF5XScpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array instances have [[Class]] set to 'Array'","path":"TestCases/ch15/15.4/15.4.5/15.4.5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5kLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUaHJvdyBSYW5nZUVycm9yIGlmIGF0dGVtcHQgdG8gc2V0IGFycmF5IGxlbmd0aCBwcm9wZXJ0eSB0byA0Mjk0OTY3Mjk2ICgyKiozMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICAgW10ubGVuZ3RoID0gNDI5NDk2NzI5NiA7DQogIH0gY2F0Y2ggKGUpIHsNCglpZiAoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5kLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBUaHJvdyBSYW5nZUVycm9yIGlmIGF0dGVtcHQgdG8gc2V0IGFycmF5IGxlbmd0aCBwcm9wZXJ0eSB0byA0Mjk0OTY3Mjk3ICgxKzIqKjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgICBbXS5sZW5ndGggPSA0Mjk0OTY3Mjk3IDsNCiAgfSBjYXRjaCAoZSkgew0KCWlmIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtMy5kLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTZXQgYXJyYXkgbGVuZ3RoIHByb3BlcnR5IHRvIG1heCB2YWx1ZSA0Mjk0OTY3Mjk1ICgyKiozMi0xLCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgDQogIHZhciBhID1bXTsNCiAgYS5sZW5ndGggPSA0Mjk0OTY3Mjk1IDsNCiAgcmV0dXJuIGEubGVuZ3RoPT09NDI5NDk2NzI5NSA7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgYSBwcm9wZXJ0eSBuYW1lZCA0Mjk0OTY3Mjk1ICgyKiozMi0xKShub3QgYW4gYXJyYXkgZWxlbWVudCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgDQogIHZhciBhID1bXTsNCiAgYVs0Mjk0OTY3Mjk1XSA9ICJub3QgYW4gYXJyYXkgZWxlbWVudCIgOw0KICByZXR1cm4gYVs0Mjk0OTY3Mjk1XSA9PT0gIm5vdCBhbiBhcnJheSBlbGVtZW50IjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvMTUuNC41LjEtNS0yLmpzDQogKiBAZGVzY3JpcHRpb24gRGVmaW5pbmcgYSBwcm9wZXJ0eSBuYW1lZCA0Mjk0OTY3Mjk1ICgyKiozMi0xKSBkb2Vzbid0IGNoYW5nZSBsZW5ndGggb2YgdGhlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgIA0KICB2YXIgYSA9WzAsMSwyXTsNCiAgYVs0Mjk0OTY3Mjk1XSA9ICJub3QgYW4gYXJyYXkgZWxlbWVudCIgOw0KICByZXR1cm4gYS5sZW5ndGg9PT0zOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"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":"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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlIGhhcyBub3QgW1tjb25zdHJ1Y3RdXSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMy9TMTUuNS4zLjJfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgU3RyaW5nLmZyb21DaGFyQ29kZSIgZmFpbHMKICovCgp2YXIgX19mY2NfX2Z1bmMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlOwoKZGVsZXRlIFN0cmluZy5mcm9tQ2hhckNvZGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIF9fb2JqID0gbmV3IF9fZmNjX19mdW5jKDY1LDY2LDY2LDY1KTsKICAkRkFJTCgnIzE6IF9fZmNjX19mdW5jID0gU3RyaW5nLmZyb21DaGFyQ29kZTsgdmFyIF9fb2JqID0gbmV3IF9fZmNjX19mdW5jKDY1LDY2LDY2LDY1KSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIlN0cmluZy5wcm90b3R5cGUubWF0Y2ggb2JqZWN0IiBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOyBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQoK","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExLzE1LjUuNC4xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gJ3RoaXMnIG9iamVjdCB1c2VkIGJ5IHRoZSByZXBsYWNlVmFsdWUgZnVuY3Rpb24gb2YgYSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgaW52b2NhdGlvbg0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmV0VmFsID0gJ3gnLnJlcGxhY2UoL3gvLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd5JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3onOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICByZXR1cm4gcmV0VmFsPT09J3knOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIG9iamVjdCBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQoK","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gT2JqZWN0IGluc3RhbmNlLCBhbmQgY2FsbCBpbnN0YW5jZS5zbGljZSguLi4pLnNsaWNlKC4uLikKICovCgp2YXIgX19pbnN0YW5jZSA9ICBmdW5jdGlvbigpe307CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoLUluZmluaXR5LDgpLnNsaWNlKDEsSW5maW5pdHkpICE9PSAidW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gZnVuY3Rpb24oKXt9OyBfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsgX19pbnN0YW5jZS5zbGljZSgtSW5maW5pdHksOCkuc2xpY2UoMSxJbmZpbml0eSkgPT09ICJ1bmN0aW9uIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2xpY2UoLUluZmluaXR5LDgpLnNsaWNlKDEsSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","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":"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":"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":"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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIGZ1bmN0aW9uKCl7fQogKi8KCnZhciBfX2luc3RhbmNlID0gZnVuY3Rpb24oKXt9OwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdLnN1YnN0cmluZygwLDgpICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdLnN1YnN0cmluZygwLDgpID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICcrX19zcGxpdFswXS5zdWJzdHJpbmcoMCw4KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTQvUzE1LjUuNC4xNF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3BsaXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KCg==","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gT2JqZWN0IGluc3RhbmNlLiBDYWxsIGluc3RhbmNlLnN1YnN0cmluZyguLi4pLnN1YnN0cmluZyguLi4pCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307CiAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKC1JbmZpbml0eSw4KSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBmdW5jdGlvbigpe307IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7ICBfX2luc3RhbmNlLnN1YnN0cmluZygtSW5maW5pdHksOCkgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyg4LEluZmluaXR5KS5zdWJzdHJpbmcoLUluZmluaXR5LDEpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBTdHJpbmcucHJvdG90eXBlLnRyaW07DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAwIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gdGhyb3dzIFR5cGVFcnJvciB3aGVuIHN0cmluZyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHVuZGVmaW5lZCk7IA0KICAgIHJldHVybiBmYWxzZTsgDQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gdGhyb3dzIFR5cGVFcnJvciB3aGVuIHN0cmluZyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChudWxsKTsgIA0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIHByaW1pdGl2ZSB0eXBlIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIGlmKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHRydWUpID09ICJ0cnVlIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIHByaW1pdGl2ZSB0eXBlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMCkgPT0gIjAiKSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGFuIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoe30pPT0iW29iamVjdCBPYmplY3RdIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGFuIFN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwobmV3IFN0cmluZygpKSA9PSAiIikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGEgcHJpbWl0aXZlIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoImFiYyIpID09PSAiYWJjIikgIA0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGEgcHJpbWl0aXZlIHN0cmluZyAodmFsdWUgaXMgJyAgICBhYmMnKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gU3RyaW5nKCIgICAgYWJjIik7DQogICAgICAgIHJldHVybiAiYWJjIiA9PT0gc3RyT2JqLnRyaW0oKSAmJiBzdHJPYmoudG9TdHJpbmcoKSA9PT0gIiAgICBhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gd29ya3MgZm9yIGEgU3RyaW5nIG9iamVjdCB3aGljaCB2YWx1ZSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZyh1bmRlZmluZWQpOw0KICAgICAgICByZXR1cm4gc3RyT2JqLnRyaW0oKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGZhbHNlKSA9PT0gImZhbHNlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzICtJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoK0luZmluaXR5KSA9PT0gIkluZmluaXR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoLUluZmluaXR5KSA9PT0gIi1JbmZpbml0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIwIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMTAwMDAwMDAwMDAwMDAwMDAwMDAwKSA9PT0gIjEwMDAwMDAwMDAwMDAwMDAwMDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIxIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCkgPT09ICIxZSsyMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIyIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApID09PSAiMWUrMjIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlKzIwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxZSsyMCkgPT09ICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICh2YWx1ZSBpcyAxZSsyMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMWUrMjEpID09PSAiMWUrMjEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICh2YWx1ZSBpcyAxZSsyMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMWUrMjIpID09PSAiMWUrMjIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgwLjAwMDAwMSkgPT09ICIwLjAwMDAwMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMC4wMDAwMDAxKSA9PT0gIjFlLTciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwodHJ1ZSkgPT09ICJ0cnVlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDAuMDAwMDAwMDEpID09PSAiMWUtOCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDFlLTcpID09PSAiMWUtNyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDFlLTYpID09PSAiMC4wMDAwMDEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDFlLTUpID09PSAiMC4wMDAwMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGFuIGludGVnZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMjMpID09PSAiMTIzIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgZGVjaW1hbCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMuNDU2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMjMuNDU2KSA9PT0gIjEyMy40NTYiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIwIHplcm9zKS4xMjMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDEwMDAwMDAwMDAwMDAwMDAwMDAwMC4xMjMpID09PSAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMy4xMjM0NTY3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMjMuMTIzNDU2NykgPT09ICIxMjMuMTIzNDU2NyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGFuIGVtcHR5IHN0cmluZyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoIiIpID09PSAiIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICdBQg0KICogXGNkJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoIkFCXG5cXGNkIikgPT09ICJBQlxuXFxjZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"LyoqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4yMC8xNS41LjQuMjAtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQovLy8gQ29weXJpZ2h0IChjKSAyMDA5IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbiANCi8vLyANCi8vLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkDQovLy8gdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDogDQovLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiANCi8vLyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIA0KLy8vICAgICAgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAgDQovLy8gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1pY3Jvc29mdCBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8NCi8vLyAgICAgIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi8vLyANCi8vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SDQovLy8gSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MNCi8vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQ0KLy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KLy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLy8vIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLA0KLy8vIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYNCi8vLyBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoTmFOKSA9PT0gIk5hTiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICd1bmRlZmluZWQnKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoInVuZGVmaW5lZCIpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICdudWxsJykgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKCJudWxsIikgPT09ICJudWxsIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICcxMjMjJCVhYmMnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgiMTIzIyQlYWJjIikgPT09ICIxMjMjJCVhYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gYXJndW1lbnQgJ3RoaXMnIGlzIGEgc3RyaW5nKHZhbHVlIGlzICcxJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoIjEiKSA9PT0gIjEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIGFycmF5IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKFsxXSkgPT09ICcxJyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgU3RyaW5nIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChuZXcgU3RyaW5nKCJhYmMiKSkgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgQm9vbGVhbiBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwobmV3IEJvb2xlYW4oZmFsc2UpKSA9PT0gImZhbHNlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgTnVtYmVyIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChuZXcgTnVtYmVyKDEyMykpID09PSAiMTIzIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKG9iaikgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChvYmopID09PSAiW29iamVjdCBPYmplY3RdIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMCkgPT09ICIwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChvYmopID09PSAiYWJjIikgJiYgdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImNlZiI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwob2JqKSA9PT0gImFiYyIpICYmICF2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gVHlwZUVycm9yIGV4Y2VwdGlvbiB3YXMgdGhyb3duICB3aGVuICd0aGlzJyBpcyBhbiBvYmplY3QgdGhhdCBib3RoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIHdvdWxkbid0IHJldHVybiBwcmltaXRpdmUgdmFsdWUuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB2YWx1ZU9mIGFuZCBpbmhlcml0ZWQgdG9TdHJpbmcgbWV0aG9kcyB3aXRoIGhpbnQgc3RyaW5nLCB2ZXJpZnkgaW5oZXJpdGVkIHRvU3RyaW5nIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBmaXJzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnZhbHVlT2YgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICJlZmciOw0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGNoaWxkKSA9PT0gImFiYyIpICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgIXZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgZWFzdCBBc2lhbiBjaGFyYWN0ZXJzICh2YWx1ZSBpcyAnU0TlkpXlmZwnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSAiU0TlkpXlmZwiOw0KICAgICAgICByZXR1cm4gc3RyLnRyaW0oKSA9PT0gc3RyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgd2hpdGUgc3BhY2UsIGNoYXJhY3RlciwgbnVtYmVyLCBvYmplY3QgYW5kIG51bGwgY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSAiYWJjIiArICIgICAiICsgMTIzICsgIiAgICIgKyB7fSArICIgICAgIiArICJcdTAwMDAiOw0KICAgICAgICB2YXIgc3RyMSA9ICIgICAgIiArIHN0ciArICIgICAgIjsNCiAgICAgICAgcmV0dXJuIHN0cjEudHJpbSgpID09PSBzdHI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgRnVuY3Rpb24gT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9Ow0KICAgICAgICByZXR1cm4gdHlwZW9mKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGZ1bk9iaikpID09PSAic3RyaW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgb2JqZWN0IE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHt9KSA9PT0gIltvYmplY3QgT2JqZWN0XSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgUmVnRXhwIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoL3Rlc3QvKTsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKHJlZ09iaikgPT09ICIvdGVzdC8iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKCswKSA9PT0gIjAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTUwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgRXJyb3IgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJ0ZXN0Iik7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChlcnJPYmopID09PSAiRXJyb3I6IHRlc3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTUxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ3RoaXMnIGlzIGEgQXJndW1lbnRzIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSAoMSwgMiwgdHJ1ZSk7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChhcmdPYmopID09PSAiW29iamVjdCBBcmd1bWVudHNdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKC0wKSA9PT0gIjAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgzMCkgPT09ICIzMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgtMjApID09PSAiLTIwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKEluZmluaXR5KSA9PT0gIkluZmluaXR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgTGluZVRlcm1pbmF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBsaW5lVGVybWluYXRvcnNTdHIgPSAiXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5IjsNCiAgICAgICAgcmV0dXJuIChsaW5lVGVybWluYXRvcnNTdHIudHJpbSgpID09PSAiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHdpdGggbnVsbCBjaGFyYWN0ZXIgKCdcdTAwMDAnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAiXHUwMDAwIi50cmltKCkgPT09ICJcdTAwMDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTExLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgc3RhcnRzIHdpdGggbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gIlwwXHUwMDAwYWJjIi50cmltKCkgPT09ICJcMFx1MDAwMGFiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgZW5kcyB3aXRoIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuICJhYmNcMFx1MDAwMCIudHJpbSgpID09PSAiYWJjXDBcdTAwMDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgc3RhcnRzIHdpdGggbnVsbCBjaGFyYWN0ZXIgYW5kIGVuZHMgd2l0aCBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAiXDBcdTAwMDBhYmNcMFx1MDAwMCIudHJpbSgpID09PSAiXDBcdTAwMDBhYmNcMFx1MDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIC0gJ1MnIGlzIGEgc3RyaW5nIHRoYXQgaGFzIG51bGwgY2hhcmFjdGVyIGluIHRoZSBtaWRkbGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAgICAgcmV0dXJuICJhXDBcdTAwMDBiYyIudHJpbSgpID09PSAiYVwwXHUwMDAwYmMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgV2hpdGVTcGFjZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHdoaXRlU3BhY2VzU3RyID0gIlx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAyMFx1MDBBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMFx1RkVGRiI7DQogICAgICAgIHJldHVybiAod2hpdGVTcGFjZXNTdHIudHJpbSgpID09PSAiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgdW5pb24gb2YgV2hpdGVTcGFjZSBhbmQgTGluZVRlcm1pbmF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbGluZVRlcm1pbmF0b3JzU3RyID0gIlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSI7DQogICAgICAgIHZhciB3aGl0ZVNwYWNlc1N0ciA9ICJcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMjBcdTAwQTBcdTE2ODBcdTE4MEVcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMjhcdTIwMjlcdTIwMkZcdTIwNUZcdTMwMDBcdUZFRkYiOw0KICAgICAgICB2YXIgc3RyID0gd2hpdGVTcGFjZXNTdHIgKyBsaW5lVGVybWluYXRvcnNTdHI7DQoNCiAgICAgICAgcmV0dXJuIChzdHIudHJpbSgpID09PSAiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgc3RhcnQgd2l0aCB1bmlvbiBvZiBhbGwgTGluZVRlcm1pbmF0b3IgYW5kIGFsbCBXaGl0ZVNwYWNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgdmFyIHN0ciA9IHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyICsgImFiYyI7DQoNCiAgICAgICAgcmV0dXJuIChzdHIudHJpbSgpID09PSAiYWJjIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgZW5kIHdpdGggdW5pb24gb2YgYWxsIExpbmVUZXJtaW5hdG9yIGFuZCBhbGwgV2hpdGVTcGFjZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBsaW5lVGVybWluYXRvcnNTdHIgPSAiXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5IjsNCiAgICAgICAgdmFyIHdoaXRlU3BhY2VzU3RyID0gIlx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAyMFx1MDBBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMFx1RkVGRiI7DQogICAgICAgIHZhciBzdHIgPSAiYWJjIiArIHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyIDsNCg0KICAgICAgICByZXR1cm4gKHN0ci50cmltKCkgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgc3RhcnQgd2l0aCB1bmlvbiBvZiBhbGwgTGluZVRlcm1pbmF0b3IgYW5kIGFsbCBXaGl0ZVNwYWNlIGFuZCBlbmQgd2l0aCB1bmlvbiBvZiBhbGwgTGluZVRlcm1pbmF0b3IgYW5kIGFsbCBXaGl0ZVNwYWNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgdmFyIHN0ciA9IHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyICsgImFiYyIgKyB3aGl0ZVNwYWNlc1N0ciArIGxpbmVUZXJtaW5hdG9yc1N0cjsNCg0KICAgICAgICByZXR1cm4gKHN0ci50cmltKCkgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgdGhhdCB1bmlvbiBvZiBMaW5lVGVybWluYXRvciBhbmQgV2hpdGVTcGFjZSBpbiB0aGUgbWlkZGxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgdmFyIHN0ciA9ICJhYiIgKyB3aGl0ZVNwYWNlc1N0ciArIGxpbmVUZXJtaW5hdG9yc1N0ciArICJjZCI7DQoNCiAgICAgICAgcmV0dXJuIChzdHIudHJpbSgpID09PSBzdHIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBhbGwgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gIlwwXHUwMDAwIi50cmltKCkgPT09ICJcMFx1MDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBudWxsIGNoYXJhY3RlciAoJ1wwJykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAgICAgcmV0dXJuICJcMCIudHJpbSgpID09PSAiXDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyBtdWx0aWxpbmUgc3RyaW5nIHdpdGggd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIHMgPSAiXHUwMDA5YSBiXA0KYyBcdTAwMDkiDQoNCiAgICAgICAgICAgIA0KICBpZiAocy50cmltKCkgPT09ICJhIGJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1RkVGRmFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gIlx1RkVGRmFiYyIudHJpbSgpID09PSAiYWJjIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwQikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwQiIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwQyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAyMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDBBMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDBBMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1RkVGRikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gImFiY1x1RkVGRiIudHJpbSgpID09PSAiYWJjIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwOWFiY1x1MDAwOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwOWFiY1x1MDAwOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoIFx1MDAwOWFiYyBcdTAwMDkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKCIgXHUwMDA5YWJjIFx1MDAwOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQmFiY1x1MDAwQikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQmFiY1x1MDAwQiIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQ2FiY1x1MDAwQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQ2FiY1x1MDAwQyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAyMGFiY1x1MDAyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAyMGFiY1x1MDAyMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDBBMGFiY1x1MDBBMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDBBMGFiY1x1MDBBMCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwOVx1MDAwOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwOVx1MDAwOSIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQlx1MDAwQikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQlx1MDAwQiIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQ1x1MDAwQykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQ1x1MDAwQyIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDA5YWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDA5YWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAyMFx1MDAyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAyMFx1MDAyMCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDBBMFx1MDBBMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDBBMFx1MDBBMCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1RkVGRlx1RkVGRikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gIlx1RkVGRlx1RkVGRiIudHJpbSgpID09PSAiIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDA5YykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDA5YyIudHJpbSgpID09PSAiYWJcdTAwMDljIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDBCYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDBCYyIudHJpbSgpID09PSAiYWJcdTAwMEJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDBDYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDBDYyIudHJpbSgpID09PSAiYWJcdTAwMENjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDIwYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMDIwYyIudHJpbSgpID09PSAiYWJcdTAwMjBjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTM5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMDg1YykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gImFiXHUwMDg1YyIudHJpbSgpID09PSAiYWJcdTAwODVjIjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBCYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBCYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUwMEEwYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUwMEEwYyIudHJpbSgpID09PSAiYWJcdTAwQTBjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHUyMDBCYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHUyMDBCYyIudHJpbSgpID09PSAiYWJcdTIwMEJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiXHVGRUZGYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiXHVGRUZGYyIudHJpbSgpID09PSAiYWJcdUZFRkZjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQWFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQWFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwRGFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwRGFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOGFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOGFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOWFiYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOWFiYyIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwQSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwQSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MDAwRCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MDAwRCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MjAyOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MjAyOCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBDYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBDYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKGFiY1x1MjAyOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoImFiY1x1MjAyOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUxLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQWFiY1x1MDAwQSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQWFiY1x1MDAwQSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUyLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwRGFiY1x1MDAwRCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwRGFiY1x1MDAwRCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTUzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOGFiY1x1MjAyOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOGFiY1x1MjAyOCIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU0LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOWFiY1x1MjAyOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOWFiY1x1MjAyOSIudHJpbSgpID09PSAiYWJjIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU1LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwQVx1MDAwQSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwQVx1MDAwQSIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU2LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MDAwRFx1MDAwRCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MDAwRFx1MDAwRCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU3LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOFx1MjAyOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOFx1MjAyOCIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU4LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOVx1MjAyOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIlx1MjAyOVx1MjAyOSIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTU5LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKFx1MjAyOWFiYyBhcyBhIG11bHRpbGluZSBzdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSAiXHUyMDI5XA0KICAgICAgICAgICBhYmMiOw0KICBpZiAocy50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDIwYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDIwYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTYwLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nLnByb3RvdHlwZS50cmltIGhhbmRsZXMgd2hpdGVwYWNlIGFuZCBsaW5ldGVybWluYXRvcnMgKHN0cmluZyB3aXRoIGp1c3QgYmxhbmtzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiICAgICIudHJpbSgpID09PSAiIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjIwLzE1LjUuNC4yMC00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMEEwYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMEEwYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQ7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KCg==","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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuY29uY2F0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQoK","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":"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":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC45L1MxNS41LjQuOV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmU7IF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Cgo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBzdXBwb3J0cyBicmFja2V0IG5vdGF0aW9uIHRvIGxvb2t1cCBvZiBkYXRhIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQogIHMuZm9vID0gMTsNCiAgDQogIGlmIChzWyJmb28iXSA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIHN1cHBvcnRzIGJyYWNrZXQgbm90YXRpb24gdG8gbG9va3VwIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KICANCiAgaWYgKHNbImZvbyJdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBmb3IgbWlzc2luZyBkYXRhIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQogIA0KICBpZiAoc1siZm9vIl0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGZvciBtaXNzaW5nIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KICANCiAgaWYgKHNbImZvbyJdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCAoTmFOKSBpcyBub3QgYW4gYXJyYXkgaW5kZXgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbTmFOXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy00LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCAoSW5maW5pdHkpIGlzIG5vdCBhbiBhcnJheSBpbmRleA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCg0KICBpZiAoc1tJbmZpbml0eV0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy01LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCAoIDJeMzItMSkgaXMgbm90IGFuIGFycmF5IGluZGV4DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBuZXcgU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KDQogIGlmIChzW01hdGgucG93KDIsIDMyKS0xXT09PXVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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 ( 2^32-1) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy02LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChOYU4pIGlzIG5vdCBhbiBhcnJheSBpbmRleA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KDQogIGlmIChzW05hTl0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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 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-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy03LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChJbmZpbml0eSkgaXMgbm90IGFuIGFycmF5IGluZGV4DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbSW5maW5pdHldID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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 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-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItMy04LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4ICggPj0gMl4zMi0xKSBpcyBub3QgYW4gYXJyYXkgaW5kZXgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCg0KICBpZiAoc1tNYXRoLnBvdygyLCAzMiktMV09PT11bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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 if the numeric index ( >= 2^32-1) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCBpcyBsZXNzIHRoYW4gMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCg0KICBpZiAoc1stMV0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","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 is less than 0","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy0yLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IGlzIGxlc3MgdGhhbiAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbLTFdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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 if the numeric index is less than 0","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy0zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIG9iamVjdCBpbmRleGluZyByZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGUgbnVtZXJpYyBpbmRleCBpcyBncmVhdGVyIHRoYW4gdGhlIHN0cmluZyBsZW5ndGgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9IG5ldyBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQoNCiAgaWYgKHNbMTFdID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","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 is greater than the string length","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIDE1LjUuNS4yIGRlZmluZXMgW1tHZXRPd25Qcm9wZXJ0eV1dIGZvciBTdHJpbmdzLiBJdCBzdXBwb3J0cyB1c2luZyBpbmRleGluZw0KICogbm90YXRpb24gdG8gbG9vayB1cCBub24gbnVtZXJpYyBwcm9wZXJ0eSBuYW1lcy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41LzE1LjUuNS4yLzE1LjUuNS41LjItNy00LmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaW5nIHZhbHVlIGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IGlzIGdyZWF0ZXIgdGhhbiB0aGUgc3RyaW5nIGxlbmd0aA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KDQogIGlmIChzWzExXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","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 if the numeric index is greater than the string length","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-7-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFsdWVzIDEsIG5ldyBTdHJpbmcoIjEiKSwgbmV3IE9iamVjdCgxKSBhbmQgY2FsbGVkIHdpdGhvdXQgYXJndW1lbnQKICovCgovL0NIRUNLIzEKaWYoIHR5cGVvZiBCb29sZWFuKCkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgQm9vbGVhbigpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigpKyciJyk7Cn0KCi8vQ0hFQ0sjMgppZiggdHlwZW9mIEJvb2xlYW4oMSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMyOiB0eXBlb2YgQm9vbGVhbigxKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oMSkrJyInKTsKfQoKLy9DSEVDSyMzCmlmKCB0eXBlb2YgQm9vbGVhbihuZXcgU3RyaW5nKCIxIikpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMzogdHlwZW9mIEJvb2xlYW4obmV3IFN0cmluZygiMSIpKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4obmV3IFN0cmluZygiMSIpKSsnIicpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBCb29sZWFuKG5ldyBPYmplY3QoMSkpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNDogdHlwZW9mIEJvb2xlYW4obmV3IE9iamVjdCgxKSkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKG5ldyBPYmplY3QoMSkpKyciJyk7Cn0KCgo=","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used values 1, new String(\"1\"), new Object(1) and called without argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyBudW1iZXIgdmFsdWVzIGFzIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgQm9vbGVhbigwKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzEuMTogdHlwZW9mIEJvb2xlYW4oMCkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKDApKyciJyk7Cn0KaWYoIEJvb2xlYW4oMCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzEuMjogQm9vbGVhbigwKSBzaG91bGQgYmUgZmFsc2UsIGFjdHVhbCBpcyAnK0Jvb2xlYW4oMCkpOwp9CgovL0NIRUNLIzIKaWYoIHR5cGVvZiBCb29sZWFuKC0xKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzIuMTogdHlwZW9mIEJvb2xlYW4oLTEpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigtMSkrJyInKTsKfQppZiggQm9vbGVhbigtMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMi4yOiBCb29sZWFuKC0xKSBzaG91bGQgYmUgdHJ1ZSwgYWN0dWFsIGlzICcrQm9vbGVhbigtMSkpOwp9CgovL0NIRUNLIzMKaWYoIHR5cGVvZiBCb29sZWFuKC1JbmZpbml0eSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMzLjE6IHR5cGVvZiBCb29sZWFuKC1JbmZpbml0eSkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKC1JbmZpbml0eSkrJyInKTsKfQppZiggQm9vbGVhbigtSW5maW5pdHkpICE9PSB0cnVlICkgewogICRFUlJPUignIzMuMjogQm9vbGVhbigtSW5maW5pdHkpIHNob3VsZCBiZSB0cnVlLCBhY3R1YWwgaXMgJytCb29sZWFuKC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBCb29sZWFuKE5hTikgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyM0LjE6IHR5cGVvZiBCb29sZWFuKE5hTikgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKE5hTikrJyInKTsKfQppZiggQm9vbGVhbihOYU4pICE9PSBmYWxzZSApIHsKICAkRVJST1IoJyM0LjI6IEJvb2xlYW4oTmFOKSBzaG91bGQgYmUgZmFsc2UsIGFjdHVhbCBpcyAnK0Jvb2xlYW4oTmFOKSk7Cn0KCg==","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various number values as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyBzdHJpbmcgdmFsdWVzIGFzIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgQm9vbGVhbigiMCIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMS4xOiB0eXBlb2YgQm9vbGVhbigiMCIpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigiMCIpKyciJyk7Cn0KaWYoIEJvb2xlYW4oIjAiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMxLjI6IEJvb2xlYW4oIjAiKSBzaG91bGQgYmUgdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYoIHR5cGVvZiBCb29sZWFuKCItMSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMi4xOiB0eXBlb2YgQm9vbGVhbigiLTEiKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oIi0xIikrJyInKTsKfQppZiggQm9vbGVhbigiLTEiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyLjI6IEJvb2xlYW4oIi0xIikgc2hvdWxkIGJlIHRydWUnKTsKfQoKLy9DSEVDSyMzCmlmKCB0eXBlb2YgQm9vbGVhbigiMSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMy4xOiB0eXBlb2YgQm9vbGVhbigiMSIpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigiMSIpKyciJyk7Cn0KaWYoIEJvb2xlYW4oIjEiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMzLjI6IEJvb2xlYW4oIjEiKSBzaG91bGQgYmUgdHJ1ZScpOwp9CgovL0NIRUNLIzQKaWYoIHR5cGVvZiBCb29sZWFuKCJmYWxzZSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNC4xOiB0eXBlb2YgQm9vbGVhbigiZmFsc2UiKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oImZhbHNlIikrJyInKTsKfQppZiggQm9vbGVhbigiZmFsc2UiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyM0LjI6IEJvb2xlYW4oImZhbHNlIikgc2hvdWxkIGJlIHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmKCB0eXBlb2YgQm9vbGVhbigidHJ1ZSIpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNS4xOiB0eXBlb2YgQm9vbGVhbigidHJ1ZSIpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbigidHJ1ZSIpKyciJyk7Cn0KaWYoIEJvb2xlYW4oInRydWUiKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyM1LjI6IEJvb2xlYW4oInRydWUiKSBzaG91bGQgYmUgdHJ1ZScpOwp9Cgo=","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various string values as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyB1bmRlZmluZWQgdmFsdWVzIGFuZCBudWxsIGFzIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKCB0eXBlb2YgQm9vbGVhbih1bmRlZmluZWQpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjMS4xOiB0eXBlb2YgQm9vbGVhbih1bmRlZmluZWQpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbih1bmRlZmluZWQpKyciJyk7Cn0KaWYoIEJvb2xlYW4odW5kZWZpbmVkKSAhPT0gZmFsc2UgKSB7CiAgJEVSUk9SKCcjMS4yOiBCb29sZWFuKHVuZGVmaW5lZCkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiggdHlwZW9mIEJvb2xlYW4odm9pZCAwKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzIuMTogdHlwZW9mIEJvb2xlYW4odm9pZCAwKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4odm9pZCAwKSsnIicpOwp9CmlmKCBCb29sZWFuKHZvaWQgMCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzIuMjogQm9vbGVhbih2b2lkIDApIHNob3VsZCBiZSBmYWxzZScpOwp9CgovL0NIRUNLIzMKaWYoIHR5cGVvZiBCb29sZWFuKGZ1bmN0aW9uKCl7fSgpKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzMuMTogdHlwZW9mIEJvb2xlYW4oZnVuY3Rpb24oKXt9KCkpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbihmdW5jdGlvbigpe30oKSkrJyInKTsKfQppZiggQm9vbGVhbihmdW5jdGlvbigpe30oKSkgIT09IGZhbHNlICkgewogICRFUlJPUignIzMuMjogQm9vbGVhbihmdW5jdGlvbigpe30oKSkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiggdHlwZW9mIEJvb2xlYW4obnVsbCkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyM0LjE6IHR5cGVvZiBCb29sZWFuKG51bGwpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbihudWxsKSsnIicpOwp9CmlmKCBCb29sZWFuKG51bGwpICE9PSBmYWxzZSApIHsKICAkRVJST1IoJyM0LjI6IEJvb2xlYW4obnVsbCkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNQppZiggdHlwZW9mIEJvb2xlYW4oeCkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyM1LjE6IHZhciB4OyB0eXBlb2YgQm9vbGVhbih4KSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oeCkrJyInKTsKfQppZiggQm9vbGVhbih4KSAhPT0gZmFsc2UgKSB7CiAgJEVSUk9SKCcjNS4yOiB2YXIgeDsgQm9vbGVhbih4KSBzaG91bGQgYmUgZmFsc2UnKTsKfQp2YXIgeDsKCg==","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various undefined values and null as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSAobm90IGEgQm9vbGVhbiBvYmplY3QpIGNvbXB1dGVkIGJ5CiAqIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMS9TMTUuNi4xLjFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgdmFyaW91cyBhc3NpZ25pbmcgdmFsdWVzIHRvIGFueSB2YXJpYWJsZSBhcyBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQppZiggdHlwZW9mIEJvb2xlYW4oeD0wKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzEuMTogdHlwZW9mIEJvb2xlYW4oeD0wKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oeD0wKSsnIicpOwp9CmlmKCBCb29sZWFuKHg9MCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzEuMjogQm9vbGVhbih4PTApIHNob3VsZCBiZSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYoIHR5cGVvZiBCb29sZWFuKHg9MSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMyLjE6IHR5cGVvZiBCb29sZWFuKHg9MSkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKHg9MSkrJyInKTsKfQppZiggQm9vbGVhbih4PTEpICE9PSB0cnVlICkgewogICRFUlJPUignIzIuMjogQm9vbGVhbih4PTEpIHNob3VsZCBiZSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMwppZiggdHlwZW9mIEJvb2xlYW4oeD1mYWxzZSkgIT09ICJib29sZWFuIiApIHsKICAkRVJST1IoJyMzLjE6IHR5cGVvZiBCb29sZWFuKHg9ZmFsc2UpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbih4PWZhbHNlKSsnIicpOwp9CmlmKCBCb29sZWFuKHg9ZmFsc2UpICE9PSBmYWxzZSApIHsKICAkRVJST1IoJyMzLjI6IEJvb2xlYW4oeD1mYWxzZSkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZiggdHlwZW9mIEJvb2xlYW4oeD10cnVlKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzQuMTogdHlwZW9mIEJvb2xlYW4oeD10cnVlKSBzaG91bGQgYmUgImJvb2xlYW4iLCBhY3R1YWwgaXMgIicrdHlwZW9mIEJvb2xlYW4oeD10cnVlKSsnIicpOwp9CmlmKCBCb29sZWFuKHg9dHJ1ZSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNC4yOiBCb29sZWFuKHg9dHJ1ZSkgc2hvdWxkIGJlIHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmKCB0eXBlb2YgQm9vbGVhbih4PW51bGwpICE9PSAiYm9vbGVhbiIgKSB7CiAgJEVSUk9SKCcjNS4xOiB0eXBlb2YgQm9vbGVhbih4PW51bGwpIHNob3VsZCBiZSAiYm9vbGVhbiIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgQm9vbGVhbih4PW51bGwpKyciJyk7Cn0KaWYoIEJvb2xlYW4oeD1udWxsKSAhPT0gZmFsc2UgKSB7CiAgJEVSUk9SKCcjNS4yOiBCb29sZWFuKHg9bnVsbCkgc2hvdWxkIGJlIGZhbHNlJyk7Cn0KCg==","commentary":"Returns a boolean value (not a Boolean object) computed by\nToBoolean(value)","description":"Used various assigning values to any variable as argument","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuKCkgcmV0dXJucyBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4xL1MxNS42LjEuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBCb29sZWFuKCkgYW5kIGNoZWNrIHJlc3VsdAogKi8KCi8vQ0hFQ0sjMQppZiggdHlwZW9mIEJvb2xlYW4oKSAhPT0gImJvb2xlYW4iICkgewogICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuKCkgc2hvdWxkIGJlICJib29sZWFuIiwgYWN0dWFsIGlzICInK3R5cGVvZiBCb29sZWFuKCkrJyInKTsKfQoKLy9DSEVDSyMyCmlmKCBCb29sZWFuKCkgIT09IGZhbHNlICkgewogICRFUlJPUignIzI6IEJvb2xlYW4oKSBzaG91bGQgYmUgZmFsc2UnKTsKfQoK","commentary":"Boolean() returns false","description":"Call Boolean() and check result","path":"TestCases/ch15/15.6/15.6.1/S15.6.1.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEJvb2xlYW4gaXMgY2FsbGVkIGFzIHBhcnQgb2YgYSBuZXcgZXhwcmVzc2lvbiBpdCBpcwogKiBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMi9TMTUuNi4yLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGUgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0IGFuZCBpdCB2YWx1ZQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG5ldyBCb29sZWFuKCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCIjMTogdHlwZW9mIG5ldyBCb29sZWFuKCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4oKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCIjMjogbmV3IEJvb2xlYW4oKSBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpOwp9CgovL0NIRUNLIzMKdmFyIHgzID0gbmV3IEJvb2xlYW4oKTsKaWYodHlwZW9mIHgzICE9PSAib2JqZWN0Iil7CiAgJEVSUk9SKCIjMzogdHlwZW9mIG5ldyBCb29sZWFuKCkgIT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjNAp2YXIgeDQgPSBuZXcgQm9vbGVhbigpOwppZih4NCA9PT0gdW5kZWZpbmVkKXsKICAkRVJST1IoIiM0OiBuZXcgQm9vbGVhbigpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIG5ldyBCb29sZWFuKDEpICE9PSAib2JqZWN0IikgewogICRFUlJPUigiIzU6IHR5cGVvZiBuZXcgQm9vbGVhbigxMCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjNgppZiAobmV3IEJvb2xlYW4oMSkgPT09IHVuZGVmaW5lZCkgewogICRFUlJPUigiIzY6IG5ldyBCb29sZWFuKDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCi8vQ0hFQ0sjNwp2YXIgeDcgPSBuZXcgQm9vbGVhbigxKTsKaWYodHlwZW9mIHg3ICE9PSAib2JqZWN0Iil7CiAgJEVSUk9SKCIjNzogdHlwZW9mIG5ldyBCb29sZWFuKDEpICE9PSAnb2JqZWN0JyIpOwp9CgovL0NIRUNLIzgKdmFyIHg4ID0gbmV3IEJvb2xlYW4oMSk7CmlmKHg4ID09PSB1bmRlZmluZWQpewogICRFUlJPUigiIzg6IG5ldyBCb29sZWFuKDEpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCg==","commentary":"When Boolean is called as part of a new expression it is\na constructor: it initialises the newly created object","description":"Checking type of the newly created object and it value","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQm9vbGVhbiBwcm90b3R5cGUgb2JqZWN0LCB0aGUgb25lIHRoYXQgaXMgdGhlCiAqIGluaXRpYWwgdmFsdWUgb2YgQm9vbGVhbi5wcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMi9TMTUuNi4yLjFfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QKICovCgovLyBDSEVDSyMxCnZhciB4MSA9IG5ldyBCb29sZWFuKDEpOwppZiAodHlwZW9mIHgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgeDEuY29uc3RydWN0b3IucHJvdG90eXBlID09PSAib2JqZWN0IicpOwp9CgovL0NIRUNLIzIKdmFyIHgyID0gbmV3IEJvb2xlYW4oMik7CmlmICghQm9vbGVhbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MikpIHsKICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyKScpOwp9CgovL0NIRUNLIzMKdmFyIHgzID0gbmV3IEJvb2xlYW4oMyk7CmlmIChCb29sZWFuLnByb3RvdHlwZSAhPT0geDMuY29uc3RydWN0b3IucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMzogQm9vbGVhbi5wcm90b3R5cGUgPT09IHgzLmNvbnN0cnVjdG9yLnByb3RvdHlwZScpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Boolean prototype object, the one that is the\ninitial value of Boolean.prototype","description":"Checking prototype property of the newly created object","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvIFRvQm9vbGVhbih2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMi9TMTUuNi4yLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhbHVlIG9mIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKi8KCi8vIENIRUNLIzEKdmFyIHgxID0gbmV3IEJvb2xlYW4oMSk7CmlmICh4MS52YWx1ZU9mKCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgeDEgPSBuZXcgQm9vbGVhbigxKTsgeDEudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeDIgPSBuZXcgQm9vbGVhbigpOwppZiAoeDIudmFsdWVPZigpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IHZhciB4MiA9IG5ldyBCb29sZWFuKCk7IHgyLnZhbHVlT2YoKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCnZhciB4MiA9IG5ldyBCb29sZWFuKDApOwppZiAoeDIudmFsdWVPZigpICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IHZhciB4MiA9IG5ldyBCb29sZWFuKDApOyB4Mi52YWx1ZU9mKCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeDIgPSBuZXcgQm9vbGVhbihuZXcgT2JqZWN0KCkpOwppZiAoeDIudmFsdWVPZigpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdmFyIHgyID0gbmV3IEJvb2xlYW4obmV3IE9iamVjdCgpKTsgeDIudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCg==","commentary":"The [[Value]] property of the newly constructed object\nis set to ToBoolean(value)","description":"Checking value of the newly created object","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJCb29sZWFuIgogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4yL1MxNS42LjIuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gRm9yIHRlc3RpbmcgdG9TdHJpbmcgZnVuY3Rpb24gaXMgdXNlZAogKi8KCmRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZzsKCnZhciBvYmogPSBuZXcgQm9vbGVhbigpOwoKLy9DSEVDSyMxCmlmIChvYmoudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgQm9vbGVhbl0iKSB7CiAgJEVSUk9SKCcjMTogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAiQm9vbGVhbiInKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Boolean\"","description":"For testing toString function is used","path":"TestCases/ch15/15.6/15.6.2/S15.6.2.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqCiAqIEBwYXRoIGNoMTUvMTUuNi8xNS42LjMvUzE1LjYuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIgogKi8KCmlmKCFCb29sZWFuLmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKSl7CiAgJEVSUk9SKCcjMTogVGhlIEJvb2xlYW4gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Boolean constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.6/15.6.3/S15.6.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEJvb2xlYW4KICogY29uc3RydWN0b3IgaXMgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuMy9TMTUuNi4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUgb2YgdGhlIEJvb2xlYW4gY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQm9vbGVhbikpKSB7CiAgJEVSUk9SKCcjMTogdGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBCb29sZWFuIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LicpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the Boolean\nconstructor is the Function prototype object","description":"Checking prototype of the Boolean constructor","path":"TestCases/ch15/15.6/15.6.3/S15.6.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuIGNvbnN0cnVjdG9yIGhhcyBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4zL1MxNS42LjNfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEJvb2xlYW4ubGVuZ3RoIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmICghQm9vbGVhbi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IEJvb2xlYW4gY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKEJvb2xlYW4ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogQm9vbGVhbiBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgaXMgMScpOwp9Cgo=","commentary":"Boolean constructor has length property whose value is 1","description":"Checking Boolean.length property","path":"TestCases/ch15/15.6/15.6.3/S15.6.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBCb29sZWFuLnByb3RvdHlwZSBpcyB0aGUgQm9vbGVhbgogKiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNi8xNS42LjMvMTUuNi4zLjEvUzE1LjYuMy4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBCb29sZWFuLnByb3RvdHlwZSBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCmlmIChCb29sZWFuLnByb3RvdHlwZSAhPSBmYWxzZSkgewogICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlID09IGZhbHNlJyk7Cn0KCmRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpICE9PSAiW29iamVjdCBCb29sZWFuXSIpIHsKICAkRVJST1IoJyMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBCb29sZWFuIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJCb29sZWFuIicpOwp9Cgo=","commentary":"The initial value of Boolean.prototype is the Boolean\nprototype object","description":"Checking Boolean.prototype property","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4zLzE1LjYuMy4xL1MxNS42LjMuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgQm9vbGVhbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLyBDSEVDSyMxCnggPSBCb29sZWFuLnByb3RvdHlwZTsKQm9vbGVhbi5wcm90b3R5cGUgPSAxOwppZiAoQm9vbGVhbi5wcm90b3R5cGUgIT09IHgpIHsKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seScpOwp9Cgo=","commentary":"Boolean.prototype has the attribute ReadOnly","description":"Checking if varying the Boolean.prototype property fails","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNi8xNS42LjMvMTUuNi4zLjEvUzE1LjYuMy4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgQm9vbGVhbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"Boolean.prototype has the attribute DontDelete","description":"Checking if deleting the Boolean.prototype property fails","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi4zLzE1LjYuMy4xL1MxNS42LjMuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEJvb2xlYW4ucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih4IGluIEJvb2xlYW4pIHsKICBpZih4ID09PSAicHJvdG90eXBlIikgewogICAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCmlmIChCb29sZWFuLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Boolean.prototype has the attribute DontEnum","description":"Checking if enumerating the Boolean.prototype property fails","path":"TestCases/ch15/15.6/15.6.3/15.6.3.1/S15.6.3.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBCb29sZWFuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUKICogYnVpbHQtaW4gQm9vbGVhbiBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBCb29sZWFuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB3aXRoIEJvb2xlYW4KICovCgovL0NIRUNLIzEKaWYoQm9vbGVhbi5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEJvb2xlYW4pewogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBCb29sZWFuJyk7Cn0KCg==","commentary":"The initial value of Boolean.prototype.constructor is the\nbuilt-in Boolean constructor","description":"Compare Boolean.prototype.constructor with Boolean","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgdGhpcyBib29sZWFuIHZhbHVlIGlzIHRydWUsIHRoZW4gdGhlIHN0cmluZyAidHJ1ZSIKICogaXMgcmV0dXJuZWQsIG90aGVyd2lzZSwgdGhpcyBib29sZWFuIHZhbHVlIG11c3QgYmUgZmFsc2UsIGFuZCB0aGUgc3RyaW5nCiAqICJmYWxzZSIgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIG5vIGFyZ3VtZW50cwogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpICE9PSAiZmFsc2UiKXsKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpID09PSAiZmFsc2UiJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IEJvb2xlYW4oKSkudG9TdHJpbmcoKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnRvU3RyaW5nKCkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyMzCmlmKChuZXcgQm9vbGVhbihmYWxzZSkpLnRvU3RyaW5nKCkgIT09ICJmYWxzZSIpewogICRFUlJPUignIzM6IChuZXcgQm9vbGVhbihmYWxzZSkpLnRvU3RyaW5nKCkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgQm9vbGVhbih0cnVlKSkudG9TdHJpbmcoKSAhPT0gInRydWUiKXsKICAkRVJST1IoJyM0OiAobmV3IEJvb2xlYW4odHJ1ZSkpLnRvU3RyaW5nKCkgPT09ICJ0cnVlIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBCb29sZWFuKDEpKS50b1N0cmluZygpICE9PSAidHJ1ZSIpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudG9TdHJpbmcoKSA9PT0gInRydWUiJyk7Cn0KCi8vQ0hFQ0sjNgppZigobmV3IEJvb2xlYW4oMCkpLnRvU3RyaW5nKCkgIT09ICJmYWxzZSIpewogICRFUlJPUignIzY6IChuZXcgQm9vbGVhbigwKSkudG9TdHJpbmcoKSA9PT0gImZhbHNlIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnRvU3RyaW5nKCkgIT09ICJ0cnVlIil7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnRvU3RyaW5nKCkgPT09ICJ0cnVlIicpOwp9Cgo=","commentary":"toString: If this boolean value is true, then the string \"true\"\nis returned, otherwise, this boolean value must be false, and the string\n\"false\" is returned","description":"no arguments","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgdGhpcyBib29sZWFuIHZhbHVlIGlzIHRydWUsIHRoZW4gdGhlIHN0cmluZyAidHJ1ZSIKICogaXMgcmV0dXJuZWQsIG90aGVyd2lzZSwgdGhpcyBib29sZWFuIHZhbHVlIG11c3QgYmUgZmFsc2UsIGFuZCB0aGUgc3RyaW5nCiAqICJmYWxzZSIgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIHdpdGggc29tZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyh0cnVlKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcodHJ1ZSkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgQm9vbGVhbigpKS50b1N0cmluZyh0cnVlKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnRvU3RyaW5nKHRydWUpID09PSAiZmFsc2UiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IEJvb2xlYW4oZmFsc2UpKS50b1N0cmluZyh0cnVlKSAhPT0gImZhbHNlIil7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKGZhbHNlKSkudG9TdHJpbmcodHJ1ZSkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgQm9vbGVhbih0cnVlKSkudG9TdHJpbmcoZmFsc2UpICE9PSAidHJ1ZSIpewogICRFUlJPUignIzQ6IChuZXcgQm9vbGVhbih0cnVlKSkudG9TdHJpbmcoZmFsc2UpID09PSAidHJ1ZSInKTsKfQoKLy9DSEVDSyM1CmlmKChuZXcgQm9vbGVhbigxKSkudG9TdHJpbmcoZmFsc2UpICE9PSAidHJ1ZSIpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudG9TdHJpbmcoZmFsc2UpID09PSAidHJ1ZSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgQm9vbGVhbigwKSkudG9TdHJpbmcodHJ1ZSkgIT09ICJmYWxzZSIpewogICRFUlJPUignIzY6IChuZXcgQm9vbGVhbigwKSkudG9TdHJpbmcodHJ1ZSkgPT09ICJmYWxzZSInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgQm9vbGVhbihuZXcgT2JqZWN0KCkpKS50b1N0cmluZyhmYWxzZSkgIT09ICJ0cnVlIil7CiAgJEVSUk9SKCcjNzogKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnRvU3RyaW5nKGZhbHNlKSA9PT0gInRydWUiJyk7Cn0KCg==","commentary":"toString: If this boolean value is true, then the string \"true\"\nis returned, otherwise, this boolean value must be false, and the string\n\"false\" is returned","description":"with some argument","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgU3RyaW5nIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBTdHJpbmcoKTsKICBzMS50b1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MSA9IHMxLnRvU3RyaW5nKCk7IAogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgU3RyaW5nKCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the String objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgTnVtYmVyIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBOdW1iZXIoKTsKICBzMS50b1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MSA9IHMxLnRvU3RyaW5nKCk7IAogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgTnVtYmVyKCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Number objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgRGF0ZSBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSBuZXcgRGF0ZSgpOwogIHMxLnRvU3RyaW5nID0gQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IG5ldyBEYXRlKCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Date objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgT2JqZWN0IG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBPYmplY3QoKTsKICBzMS50b1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MSA9IHMxLnRvU3RyaW5nKCk7IAogICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgT2JqZWN0KCk7CiAgczIubXlUb1N0cmluZyA9IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Object objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjJfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgb3RoZXIgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0ge3g6IDF9OwogIHMxLnRvU3RyaW5nID0gQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IHt4OiAxfTsKICBzMi5teVRvU3RyaW5nID0gQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYyID0gczIubXlUb1N0cmluZygpOyAKICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the other objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.2_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgcmV0dXJucyB0aGlzIGJvb2xlYW4gdmFsdWUKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIG5vIGFyZ3VtZW50cwogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IEJvb2xlYW4oKSkudmFsdWVPZigpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnZhbHVlT2YoKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMzCmlmKChuZXcgQm9vbGVhbigwKSkudmFsdWVPZigpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMzogKG5ldyBCb29sZWFuKDApKS52YWx1ZU9mKCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IEJvb2xlYW4oLTEpKS52YWx1ZU9mKCkgIT09IHRydWUpewogICRFUlJPUignIzQ6IChuZXcgQm9vbGVhbigtMSkpLnZhbHVlT2YoKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBCb29sZWFuKDEpKS52YWx1ZU9mKCkgIT09IHRydWUpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjNgppZigobmV3IEJvb2xlYW4obmV3IE9iamVjdCgpKSkudmFsdWVPZigpICE9PSB0cnVlKXsKICAkRVJST1IoJyM2OiAobmV3IEJvb2xlYW4obmV3IE9iamVjdCgpKSkudmFsdWVPZigpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"Boolean.prototype.valueOf() returns this boolean value","description":"no arguments","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKCkgcmV0dXJucyB0aGlzIGJvb2xlYW4gdmFsdWUKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIGNhbGxpbmcgd2l0aCBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQppZihCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mKHRydWUpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZih0cnVlKSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgQm9vbGVhbigpKS52YWx1ZU9mKHRydWUpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMjogKG5ldyBCb29sZWFuKCkpLnZhbHVlT2YodHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IEJvb2xlYW4oMCkpLnZhbHVlT2YodHJ1ZSkgIT09IGZhbHNlKXsKICAkRVJST1IoJyMzOiAobmV3IEJvb2xlYW4oMCkpLnZhbHVlT2YodHJ1ZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IEJvb2xlYW4oLTEpKS52YWx1ZU9mKGZhbHNlKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNDogKG5ldyBCb29sZWFuKC0xKSkudmFsdWVPZihmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM1CmlmKChuZXcgQm9vbGVhbigxKSkudmFsdWVPZihmYWxzZSkgIT09IHRydWUpewogICRFUlJPUignIzU6IChuZXcgQm9vbGVhbigxKSkudmFsdWVPZihmYWxzZSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgQm9vbGVhbihuZXcgT2JqZWN0KCkpKS52YWx1ZU9mKGZhbHNlKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNjogKG5ldyBCb29sZWFuKG5ldyBPYmplY3QoKSkpLnZhbHVlT2YoZmFsc2UpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"Boolean.prototype.valueOf() returns this boolean value","description":"calling with argument","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBTdHJpbmcgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IFN0cmluZygpOwogIHMxLnZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MSA9IHMxLnZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgU3RyaW5nKCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the String objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBOdW1iZXIgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IE51bWJlcigpOwogIHMxLnZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MSA9IHMxLnZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgTnVtYmVyKCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Number objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBEYXRlIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBEYXRlKCk7CiAgczEudmFsdWVPZiA9IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IG5ldyBEYXRlKCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Date objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBPYmplY3Qgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IE9iamVjdCgpOwogIHMxLnZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MSA9IHMxLnZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMTogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczIgPSBuZXcgT2JqZWN0KCk7CiAgczIubXlWYWx1ZU9mID0gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBCb29sZWFuIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the Object objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBCb29sZWFuIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjYvMTUuNi40L1MxNS42LjQuM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBvdGhlciBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSB7eDogMX07CiAgczEudmFsdWVPZiA9IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMiA9IHt4OiAxfTsKICBzMi5teVZhbHVlT2YgPSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MiA9IHMyLm15VmFsdWVPZigpOyAKICAkRVJST1IoJyMyOiBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIEJvb2xlYW4gb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgQm9vbGVhbiBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Boolean object","description":"transferring to the other objects","path":"TestCases/ch15/15.6/15.6.4/S15.6.4.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEJvb2xlYW4gb2JqZWN0CiAqIChpdHMgW1tDbGFzc11dIGlzICJCb29sZWFuIikgd2hvc2UgdmFsdWUgaXMgZmFsc2UKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIGFuZCB2YWx1ZSBvZiBCb29sZWFuLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEJvb2xlYW4ucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBCb29sZWFuLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCmlmIChCb29sZWFuLnByb3RvdHlwZSAhPSBmYWxzZSkgewogICRFUlJPUignIzI6IEJvb2xlYW4ucHJvdG90eXBlID09IGZhbHNlJyk7Cn0KCmRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZygpICE9PSAiW29iamVjdCBCb29sZWFuXSIpIHsKICAkRVJST1IoJyMzOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBCb29sZWFuIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJCb29sZWFuIicpOwp9Cgo=","commentary":"The Boolean prototype object is itself a Boolean object\n(its [[Class]] is \"Boolean\") whose value is false","description":"Checking type and value of Boolean.prototype","path":"TestCases/ch15/15.6/15.6.4/S15.6.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEJvb2xlYW4KICogcHJvdG90eXBlIG9iamVjdCBpcyB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS42LzE1LjYuNC9TMTUuNi40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQm9vbGVhbi5wcm90b3R5cGUpCiAqLwoKLy9DSEVDSyMxCmlmICghT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEJvb2xlYW4ucHJvdG90eXBlKSkgewogICRFUlJPUignIzE6IE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBwcm90b3R5cGUgb2YgQm9vbGVhbiBwcm90b3R5cGUgb2JqZWN0Jyk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of the Boolean\nprototype object is the Object prototype object","description":"Checking Object.prototype.isPrototypeOf(Boolean.prototype)","path":"TestCases/ch15/15.6/15.6.4/S15.6.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIoW3ZhbHVlXSkgcmV0dXJucyBhIG51bWJlciB2YWx1ZSAobm90IGEgTnVtYmVyIG9iamVjdCkgY29tcHV0ZWQgYnkgVG9OdW1iZXIodmFsdWUpIGlmIHZhbHVlIHdhcyBzdXBwbGllZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4xL1MxNS43LjEuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlZCB2YWx1ZXMgIjEwIiwgMTAsIG5ldyBTdHJpbmcoIjEwIiksIG5ldyBPYmplY3QoMTApIGFuZCAiYWJjIgogKi8KCi8vQ0hFQ0sjMQppZiggdHlwZW9mIE51bWJlcigiMTAiKSAhPT0gIm51bWJlciIgKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIE51bWJlcigiMTAiKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgTnVtYmVyKCIxMCIpKyciJyk7Cn0KCi8vQ0hFQ0sjMgppZiggdHlwZW9mIE51bWJlcigxMCkgIT09ICJudW1iZXIiICkgewogICRFUlJPUignIzI6IHR5cGVvZiBOdW1iZXIoMTApIHNob3VsZCBiZSAibnVtYmVyIiwgYWN0dWFsIGlzICInK3R5cGVvZiBOdW1iZXIoMTApKyciJyk7Cn0KCi8vQ0hFQ0sjMwppZiggdHlwZW9mIE51bWJlcihuZXcgU3RyaW5nKCIxMCIpKSAhPT0gIm51bWJlciIgKSB7CiAgJEVSUk9SKCcjMzogdHlwZW9mIE51bWJlcihuZXcgU3RyaW5nKCIxMCIpKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgTnVtYmVyKG5ldyBTdHJpbmcoIjEwIikpKyciJyk7Cn0KCi8vQ0hFQ0sjNAppZiggdHlwZW9mIE51bWJlcihuZXcgT2JqZWN0KDEwKSkgIT09ICJudW1iZXIiICkgewogICRFUlJPUignIzQ6IHR5cGVvZiBOdW1iZXIobmV3IE9iamVjdCgxMCkpIHNob3VsZCBiZSAibnVtYmVyIiwgYWN0dWFsIGlzICInK3R5cGVvZiBOdW1iZXIobmV3IE9iamVjdCgxMCkpKyciJyk7Cn0KCi8vQ0hFQ0sgIzUKaWYoIHR5cGVvZiBOdW1iZXIoImFiYyIpICE9PSAibnVtYmVyIiApIHsKICAkRVJST1IoJyM1OiB0eXBlb2YgTnVtYmVyKCJhYmMiKSBzaG91bGQgYmUgIm51bWJlciIsIGFjdHVhbCBpcyAiJyt0eXBlb2YgTnVtYmVyKCJhYmMiKSsnIicpOwp9CgovL0NIRUNLICM2CmlmKCAhaXNOYU4oTnVtYmVyKCJhYmMiKSkpIHsKCSRFUlJPUignIzY6IE51bWJlcigiYWJjIikpIHNob3VsZCBiZSBOYU4nKTsKfQoK","commentary":"Number([value]) returns a number value (not a Number object) computed by ToNumber(value) if value was supplied","description":"Used values \"10\", 10, new String(\"10\"), new Object(10) and \"abc\"","path":"TestCases/ch15/15.7/15.7.1/S15.7.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIoKSByZXR1cm5zICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjEvUzE1LjcuMS4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIE51bWJlcigpIGFuZCBjaGVjayByZXN1bHQKICovCgovL0NIRUNLIzEKaWYoIHR5cGVvZiBOdW1iZXIoKSAhPT0gIm51bWJlciIgKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIE51bWJlcigpIHNob3VsZCBiZSAibnVtYmVyIiwgYWN0dWFsIGlzICInK3R5cGVvZiBOdW1iZXIoKSsnIicpOwp9CgovL0NIRUNLIzIKaWYoIE51bWJlcigpICE9PSAwICkgewogICRFUlJPUignIzI6IE51bWJlcigpID09PSAwLCBhY3R1YWwgaXMgJytOdW1iZXIoKSk7Cn0gZWxzZSBpZiggMS9OdW1iZXIoKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IE51bWJlcigpID09PSArMCwgYWN0dWFsIGlzICcrTnVtYmVyKCkpOwp9CgoK","commentary":"Number() returns +0","description":"Call Number() and check result","path":"TestCases/ch15/15.7/15.7.1/S15.7.1.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIE51bWJlciBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHByZXNzaW9uIGl0IGlzCiAqIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4yL1MxNS43LjIuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdHlwZSBvZiB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QgYW5kIGl0IHZhbHVlCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgbmV3IE51bWJlcigpICE9PSAib2JqZWN0IikgewogICRFUlJPUigiIzE6IHR5cGVvZiBuZXcgTnVtYmVyKCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IE51bWJlcigpID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoIiMyOiBuZXcgTnVtYmVyKCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKLy9DSEVDSyMzCnZhciB4MyA9IG5ldyBOdW1iZXIoKTsKaWYodHlwZW9mIHgzICE9PSAib2JqZWN0Iil7CiAgJEVSUk9SKCIjMzogdHlwZW9mIG5ldyBOdW1iZXIoKSA9PT0gJ29iamVjdCciKTsKfQoKLy9DSEVDSyM0CnZhciB4NCA9IG5ldyBOdW1iZXIoKTsKaWYoeDQgPT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCIjNDogbmV3IE51bWJlcigpIHNob3VsZCBub3QgYmUgdW5kZWZpbmVkIik7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIG5ldyBOdW1iZXIoMTApICE9PSAib2JqZWN0IikgewogICRFUlJPUigiIzU6IHR5cGVvZiBuZXcgTnVtYmVyKDEwKSA9PT0gJ29iamVjdCciKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEwKSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCIjNjogbmV3IE51bWJlcigxMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoKLy9DSEVDSyM3CnZhciB4NyA9IG5ldyBOdW1iZXIoMTApOwppZih0eXBlb2YgeDcgIT09ICJvYmplY3QiKXsKICAkRVJST1IoIiM3OiB0eXBlb2YgbmV3IE51bWJlcigxMCkgPT09ICdvYmplY3QnIik7Cn0KCi8vQ0hFQ0sjOAp2YXIgeDggPSBuZXcgTnVtYmVyKDEwKTsKaWYoeDggPT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCIjODogbmV3IE51bWJlcigxMCkgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTsKfQoK","commentary":"When Number is called as part of a new expression it is\na constructor: it initialises the newly created object","description":"Checking type of the newly created object and it value","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUgdGhhdCBpcyB0aGUKICogaW5pdGlhbCB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjIvUzE1LjcuMi4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUgcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0cwogKi8KCi8vIENIRUNLIzEKdmFyIHgxID0gbmV3IE51bWJlcigxKTsKaWYgKHR5cGVvZiB4MS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIHgxLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCnZhciB4MiA9IG5ldyBOdW1iZXIoMik7CmlmICghTnVtYmVyLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHgyKSkgewogICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih4MiknKTsKfQoKLy9DSEVDSyMzCnZhciB4MyA9IG5ldyBOdW1iZXIoMyk7CmlmIChOdW1iZXIucHJvdG90eXBlICE9PSB4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpIHsKICAkRVJST1IoJyMzOiBOdW1iZXIucHJvdG90eXBlID09PSB4My5jb25zdHJ1Y3Rvci5wcm90b3R5cGUnKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Number prototype object, the one that is the\ninitial value of Number.prototype","description":"Checking prototype property of the newly created objects","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tWYWx1ZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvIFRvTnVtYmVyKHZhbHVlKSBpZiB2YWx1ZSB3YXMgc3VwcGxpZWQsIGVsc2UgdG8gKzAKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMi9TMTUuNy4yLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhbHVlIG9mIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeDEgPSBuZXcgTnVtYmVyKDEpOwppZiAoeDEudmFsdWVPZigpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHgxID0gbmV3IE51bWJlcigxKTsgeDEudmFsdWVPZigpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeDIgPSBuZXcgTnVtYmVyKCk7CmlmICh4Mi52YWx1ZU9mKCkgIT09IDApIHsKICAkRVJST1IoJyMyLjE6IHZhciB4MiA9IG5ldyBOdW1iZXIoKTsgeDIudmFsdWVPZigpID09PSAwJyk7Cn0gZWxzZSBpZiggMS94Mi52YWx1ZU9mKCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyMyLjI6IHZhciB4MiA9IG5ldyBOdW1iZXIoKTsgeDIudmFsdWVPZigpID09PSArMCcpOwp9Cgo=","commentary":"The [[Value]] property of the newly constructed object\nis set to ToNumber(value) if value was supplied, else to +0","description":"Checking value of the newly created object","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICogaXMgc2V0IHRvICJOdW1iZXIiCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjIvUzE1LjcuMi4xX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBGb3IgdGVzdGluZyB0b1N0cmluZyBmdW5jdGlvbiBpcyB1c2VkCiAqLwoKZGVsZXRlIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7Cgp2YXIgb2JqID0gbmV3IE51bWJlcigpOwoKLy9DSEVDSyMxCmlmIChvYmoudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgTnVtYmVyXSIpIHsKICAkRVJST1IoJyMxOiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object\nis set to \"Number\"","description":"For testing toString function is used","path":"TestCases/ch15/15.7/15.7.2/S15.7.2.1_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgY29uc3RydWN0b3IgLSBbW1Byb3RvdHlwZV1dIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE51bWJlcikgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Number constructor - [[Prototype]] is the Function prototype object","path":"TestCases/ch15/15.7/15.7.3/15.7.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgY29uc3RydWN0b3IgLSBbW1Byb3RvdHlwZV1dIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0ICh1c2luZyBnZXRQcm90b3R5cGVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihOdW1iZXIpOw0KICBpZiAocCA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Number constructor - [[Prototype]] is the Function prototype object (using getPrototypeOf)","path":"TestCases/ch15/15.7/15.7.3/15.7.3-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgInByb3RvdHlwZSIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Number constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk1BWF9WQUxVRSIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJNQVhfVkFMVUUiCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgiTUFYX1ZBTFVFIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTUFYX1ZBTFVFIicpOwp9CgoK","commentary":"The Number constructor has the property \"MAX_VALUE\"","description":"Checking existence of the property \"MAX_VALUE\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk1JTl9WQUxVRSIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJNSU5fVkFMVUUiCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgiTUlOX1ZBTFVFIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTUlOX1ZBTFVFIicpOwp9CgoK","commentary":"The Number constructor has the property \"MIN_VALUE\"","description":"Checking existence of the property \"MIN_VALUE\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk5hTiIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy9TMTUuNy4zX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJOYU4iCiAqLwoKaWYoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgiTmFOIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTmFOIicpOwp9CgoK","commentary":"The Number constructor has the property \"NaN\"","description":"Checking existence of the property \"NaN\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIk5FR0FUSVZFX0lORklOSVRZIgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zL1MxNS43LjNfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgIk5FR0FUSVZFX0lORklOSVRZIgogKi8KCmlmKCFOdW1iZXIuaGFzT3duUHJvcGVydHkoIk5FR0FUSVZFX0lORklOSVRZIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiTkVHQVRJVkVfSU5GSU5JVFkiJyk7Cn0KCgo=","commentary":"The Number constructor has the property \"NEGATIVE_INFINITY\"","description":"Checking existence of the property \"NEGATIVE_INFINITY\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgIlBPU0lUSVZFX0lORklOSVRZIgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zL1MxNS43LjNfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgIlBPU0lUSVZFX0lORklOSVRZIgogKi8KCmlmKCFOdW1iZXIuaGFzT3duUHJvcGVydHkoIlBPU0lUSVZFX0lORklOSVRZIikpewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAiUE9TSVRJVkVfSU5GSU5JVFkiJyk7Cn0KCgo=","commentary":"The Number constructor has the property \"POSITIVE_INFINITY\"","description":"Checking existence of the property \"POSITIVE_INFINITY\"","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlcgogKiBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zL1MxNS43LjNfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE51bWJlcikKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoTnVtYmVyKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlciBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Number\nconstructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(Number)","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvUzE1LjcuM19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTnVtYmVyLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAoIU51bWJlci5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IE51bWJlciBjb25zdHJ1Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IE51bWJlciBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgaXMgMScpOwp9Cgo=","commentary":"Number constructor has length property whose value is 1","description":"Checking Number.length property","path":"TestCases/ch15/15.7/15.7.3/S15.7.3_A8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvMTUuNy4zLjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE51bWJlci5wcm90b3R5cGUgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLCAncHJvdG90eXBlJyk7DQogIA0KICBpZiAoZC53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Number.prototype is a data property with default attribute values (false)","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/15.7.3.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvMTUuNy4zLjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE51bWJlci5wcm90b3R5cGUsIGluaXRpYWwgdmFsdWUgaXMgdGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgLy8gYXNzdW1lIHRoYXQgTnVtYmVyLnByb3RvdHlwZSBoYXMgbm90IGJlZW4gbW9kaWZpZWQuDQogIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IE51bWJlcig0MikpPT09TnVtYmVyLnByb3RvdHlwZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Number.prototype, initial value is the Number prototype object","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/15.7.3.1-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3BlcnR5ICJwcm90b3R5cGUiIGhhcyB7IERvbnRFbnVtLCBEb250RGVsZXRlLCBSZWFkT25seSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMS9TMTUuNy4zLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBOdW1iZXIucHJvdG90eXBlOwpOdW1iZXIucHJvdG90eXBlID0gMTsKaWYgKE51bWJlci5wcm90b3R5cGUgIT09IHgpIHsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfQoK","commentary":"The Number property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking if varying the Number.prototype property fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3BlcnR5ICJwcm90b3R5cGUiIGhhcyB7IERvbnRFbnVtLCBEb250RGVsZXRlLCBSZWFkT25seSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMS9TMTUuNy4zLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IFRoZSBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCmlmICghTnVtYmVyLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkgewogICRGQUlMKCcjMjogVGhlIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoK","commentary":"The Number property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking if deleting the Number.prototype property fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3BlcnR5ICJwcm90b3R5cGUiIGhhcyB7IERvbnRFbnVtLCBEb250RGVsZXRlLCBSZWFkT25seSB9IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMS9TMTUuNy4zLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpIHsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwp9Cgpmb3IoeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAicHJvdG90eXBlIikgewogICAgJEVSUk9SKCcjMjogVGhlIE51bWJlci5wcm90b3R5cGUgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0nKTsKICB9Cn0KCg==","commentary":"The Number property \"prototype\" has { DontEnum, DontDelete, ReadOnly } attributes","description":"Checking if enumerating the Number.prototype property fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlIGlzIGl0c2VsZiBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvUzE1LjcuMy4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgLSB0ZXN0IGJhc2VkIG9uCiAqIGRlbGV0aW5nIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlID09PSAib2JqZWN0IicpOwp9CgpkZWxldGUgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE51bWJlcl0iKSB7CiAgJEVSUk9SKCcjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"Number.prototype is itself Number object","description":"Checking type of Number.prototype property - test based on\ndeleting Number.prototype.toString","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlIGlzIGl0c2VsZiBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvUzE1LjcuMy4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIE51bWJlci5wcm90b3R5cGUgcHJvcGVydHkgLSB0ZXN0IGJhc2VkIG9uCiAqIG92ZXJ3cml0aW5nIG9mIE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBOdW1iZXIucHJvdG90eXBlICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHR5cGVvZiBOdW1iZXIucHJvdG90eXBlID09PSAib2JqZWN0IicpOwp9CgpOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE51bWJlcl0iKSB7CiAgJEVSUk9SKCcjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"Number.prototype is itself Number object","description":"Checking type of Number.prototype property - test based on\noverwriting of Number.prototype.toString","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlIHZhbHVlIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjEvUzE1LjcuMy4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmIChOdW1iZXIucHJvdG90eXBlICE9IDApIHsKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlID09ICswJyk7Cn0gZWxzZSBpZiggMS9OdW1iZXIucHJvdG90eXBlICE9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7CiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZSA9PSArMCcpOwp9Cgo=","commentary":"Number.prototype value is +0","description":"Checking value of Number.prototype property","path":"TestCases/ch15/15.7/15.7.3/15.7.3.1/S15.7.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGlzIGFwcHJveGltYXRlbHkgMS43OTc2OTMxMzQ4NjIzMTU3ZTMwOAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy4yL1MxNS43LjMuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTnVtYmVyLk1BWF9WQUxVRSB2YWx1ZQogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChOdW1iZXIuTUFYX1ZBTFVFLCAxLjc5NzY5MzEzNDg2MjMxNTdlMzA4KSkgewogICRFUlJPUignIzE6IE51bWJlci5NQVhfVkFMVUUgYXBwcm94aW1hdGVseSBlcXVhbCB0byAxLjc5NzY5MzEzNDg2MjMxNTdlMzA4Jyk7Cn0KCg==","commentary":"Number.MAX_VALUE is approximately 1.7976931348623157e308","description":"Checking Number.MAX_VALUE value","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGlzIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjIvUzE1LjcuMy4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIE51bWJlci5NQVhfVkFMVUUgZmFpbHMKICovCgovLyBDSEVDSyMxCnZhciB4ID0gTnVtYmVyLk1BWF9WQUxVRTsKTnVtYmVyLk1BWF9WQUxVRSA9IDE7CmlmIChOdW1iZXIuTUFYX1ZBTFVFICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IE51bWJlci5NQVhfVkFMVUU7IE51bWJlci5NQVhfVkFMVUUgPSAxOyBOdW1iZXIuTUFYX1ZBTFVFID09PSB4Jyk7Cn0KCg==","commentary":"Number.MAX_VALUE is ReadOnly","description":"Checking if varying Number.MAX_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMi9TMTUuNy4zLjJfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIE51bWJlci5NQVhfVkFMVUUgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE51bWJlci5NQVhfVkFMVUUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5NQVhfVkFMVUUgPT09IGZhbHNlJyk7Cn0KCg==","commentary":"Number.MAX_VALUE is DontDelete","description":"Checking if deleting Number.MAX_VALUE fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUFYX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjIvUzE1LjcuMy4yX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyBOdW1iZXIuTUFYX1ZBTFVFIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih2YXIgeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAiTUFYX1ZBTFVFIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk1BWF9WQUxVRSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnTUFYX1ZBTFVFJykpIHsKICAkRVJST1IoJyMyOiBOdW1iZXIuTUFYX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.MAX_VALUE has the attribute DontEnum","description":"Checking if enumerating Number.MAX_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.2/S15.7.3.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGlzIGFwcHJveGltYXRlbHkgNWUtMzI0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjMvUzE1LjcuMy4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBOdW1iZXIuTUlOX1ZBTFVFIHZhbHVlCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE51bWJlci5NSU5fVkFMVUUsIDVlLTMyNCkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUlOX1ZBTFVFIGFwcHJveGltYXRlbHkgZXF1YWwgdG8gNWUtMzI0Jyk7Cn0KCg==","commentary":"Number.MIN_VALUE is approximately 5e-324","description":"Checking Number.MIN_VALUE value","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGlzIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjMvUzE1LjcuMy4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIE51bWJlci5NSU5fVkFMVUUgZmFpbHMKICovCgovLyBDSEVDSyMxCnZhciB4ID0gTnVtYmVyLk1JTl9WQUxVRTsKTnVtYmVyLk1JTl9WQUxVRSA9IDE7CmlmIChOdW1iZXIuTUlOX1ZBTFVFICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IE51bWJlci5NSU5fVkFMVUU7IE51bWJlci5NSU5fVkFMVUUgPSAxOyBOdW1iZXIuTUlOX1ZBTFVFID09PSB4Jyk7Cn0KCg==","commentary":"Number.MIN_VALUE is ReadOnly","description":"Checking if varying Number.MIN_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuMy9TMTUuNy4zLjNfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIE51bWJlci5NSU5fVkFMVUUgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChkZWxldGUgTnVtYmVyLk1JTl9WQUxVRSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgTnVtYmVyLk1JTl9WQUxVRSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Number.MIN_VALUE is DontDelete","description":"Checking if deleting Number.MIN_VALUE fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTUlOX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjMvUzE1LjcuMy4zX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyBOdW1iZXIuTUlOX1ZBTFVFIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih2YXIgeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAiTUlOX1ZBTFVFIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk1JTl9WQUxVRSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnTUlOX1ZBTFVFJykpIHsKICAkRVJST1IoJyMyOiBOdW1iZXIuTUlOX1ZBTFVFIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.MIN_VALUE has the attribute DontEnum","description":"Checking if enumerating Number.MIN_VALUE fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.3/S15.7.3.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGlzIE5vdC1hLU51bWJlcgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy40L1MxNS43LjMuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaXNOYU4oTnVtYmVyLk5hTikKICovCgovLyBDSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IE51bWJlci5OYU4gPT09IE5vdC1hLU51bWJlcicpOwp9Cgo=","commentary":"Number.NaN is Not-a-Number","description":"Checking isNaN(Number.NaN)","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGlzIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjQvUzE1LjcuMy40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIE51bWJlci5OYU4gZmFpbHMKICovCgovLyBDSEVDSyMxCk51bWJlci5OYU4gPSAxOwppZiAoaXNOYU4oTnVtYmVyLk5hTikgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTmFOID0gMTsgTnVtYmVyLk5hTiA9PT0gTm90LWEtTnVtYmVyJyk7Cn0KCg==","commentary":"Number.NaN is ReadOnly","description":"Checking if varying Number.NaN fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNC9TMTUuNy4zLjRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIE51bWJlci5OYU4gZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE51bWJlci5OYU4gIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5OYU4gPT09IGZhbHNlJyk7Cn0KCg==","commentary":"Number.NaN is DontDelete","description":"Checking if deleting Number.NaN fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjQvUzE1LjcuMy40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyBOdW1iZXIuTmFOIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZvcih2YXIgeCBpbiBOdW1iZXIpIHsKICBpZih4ID09PSAiTmFOIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk5hTiBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bScpOwogIH0KfQoKaWYgKE51bWJlci5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnTmFOJykpIHsKICAkRVJST1IoJyMyOiBOdW1iZXIuTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.NaN has the attribute DontEnum","description":"Checking if enumerating Number.NaN fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.4/S15.7.3.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgLUluZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjUvUzE1LjcuMy41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzaWduIGFuZCBmaW5pdGVuZXNzIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCi8vIENIRUNLIzEKaWYgKGlzRmluaXRlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID09PSBOb3QtYS1GaW5pdGUnKTsKfSBlbHNlIHsKICBpZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA8IDApICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IC1JbmZpbml0eScpOwogIH0KfQoK","commentary":"Number.NEGATIVE_INFINITY is -Infinity","description":"Checking sign and finiteness of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNS9TMTUuNy4zLjVfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPSAxOwppZiAoaXNGaW5pdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkgewogICRFUlJPUignIzE6IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9IDE7IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PT0gLUluZmluaXR5Jyk7Cn0gZWxzZSB7IAogIGlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPj0gMCkgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID0gMTsgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID09PSAtSW5maW5pdHknKTsKICB9Cn0KCg==","commentary":"Number.NEGATIVE_INFINITY is ReadOnly","description":"Checking if varying Number.NEGATIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy41L1MxNS43LjMuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Number.NEGATIVE_INFINITY is DontDelete","description":"Checking if deleting Number.NEGATIVE_INFINITY fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNS9TMTUuNy4zLjVfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmb3IodmFyIHggaW4gTnVtYmVyKSB7CiAgaWYoeCA9PT0gIk5FR0FUSVZFX0lORklOSVRZIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgppZiAoTnVtYmVyLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdORUdBVElWRV9JTkZJTklUWScpKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.NEGATIVE_INFINITY has the attribute DontEnum","description":"Checking if enumerating Number.NEGATIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.5/S15.7.3.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjMvMTUuNy4zLjYvUzE1LjcuMy42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzaWduIGFuZCBmaW5pdGVuZXNzIG9mIE51bWJlci5QT1NJVElWRV9JTkZJTklUWQogKi8KCi8vIENIRUNLIzEKaWYgKGlzRmluaXRlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSBOb3QtYS1GaW5pdGUnKTsKfSBlbHNlIHsKICBpZiAoKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA+IDApICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09ICtJbmZpbml0eScpOwogIH0KfQoK","commentary":"Number.POSITIVE_INFINITY is +Infinity","description":"Checking sign and finiteness of Number.POSITIVE_INFINITY","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaXMgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNi9TMTUuNy4zLjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPSAxOwppZiAoaXNGaW5pdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkgewogICRFUlJPUignIzE6IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9IDE7IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PT0gK0luZmluaXR5Jyk7Cn0gZWxzZSB7IAogIGlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPD0gMCkgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID0gMTsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSArSW5maW5pdHknKTsKICB9Cn0KCg==","commentary":"Number.POSITIVE_INFINITY is ReadOnly","description":"Checking if varying Number.POSITIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaXMgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy4zLzE1LjcuMy42L1MxNS43LjMuNl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA9PT0gZmFsc2UnKTsKfQoK","commentary":"Number.POSITIVE_INFINITY is DontDelete","description":"Checking if deleting Number.POSITIVE_INFINITY fails","noStrict":"","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuMy8xNS43LjMuNi9TMTUuNy4zLjZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmb3IodmFyIHggaW4gTnVtYmVyKSB7CiAgaWYoeCA9PT0gIlBPU0lUSVZFX0lORklOSVRZIikgewogICAgJEVSUk9SKCcjMTogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7CiAgfQp9CgppZiAoTnVtYmVyLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdQT1NJVElWRV9JTkZJTklUWScpKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtJyk7Cn0KCg==","commentary":"Number.POSITIVE_INFINITY has the attribute DontEnum","description":"Checking if enumerating Number.POSITIVE_INFINITY fails","path":"TestCases/ch15/15.7/15.7.3/15.7.3.6/S15.7.3.6_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAwOSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBOdW1iZXIgcHJvdG90eXBlIG9iamVjdDogaXRzIFtbQ2xhc3NdXSBtdXN0IGJlICdOdW1iZXInDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG51bVByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBOdW1iZXIoNDIpKTsNCiAgdmFyIHMgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobnVtUHJvdG8gKTsNCiAgcmV0dXJuIChzID09PSAnW29iamVjdCBOdW1iZXJdJykgOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Number prototype object: its [[Class]] must be 'Number'","path":"TestCases/ch15/15.7/15.7.4/15.7.4-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgTnVtYmVyIG9iamVjdAogKiAoaXRzIFtbQ2xhc3NdXSBpcyAiTnVtYmVyIikgd2hvc2UgdmFsdWUgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC9TMTUuNy40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIGFuZCB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgTnVtYmVyLnByb3RvdHlwZSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgTnVtYmVyLnByb3RvdHlwZSA9PT0gIm9iamVjdCInKTsKfQoKLy9DSEVDSyMyCmlmIChOdW1iZXIucHJvdG90eXBlICE9IDApIHsKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlID09ICswJyk7Cn0gZWxzZSBpZiggMS9OdW1iZXIucHJvdG90eXBlICE9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7CiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZSA9PSArMCcpOwp9CgpkZWxldGUgTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKCmlmIChOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE51bWJlcl0iKSB7CiAgJEVSUk9SKCcjMzogVGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaXMgc2V0IHRvICJOdW1iZXIiJyk7Cn0KCg==","commentary":"The Number prototype object is itself a Number object\n(its [[Class]] is \"Number\") whose value is +0","description":"Checking type and value of Number.prototype property","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE51bWJlcgogKiBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihOdW1iZXIucHJvdG90eXBlKQogKi8KCi8vQ0hFQ0sjMQppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihOdW1iZXIucHJvdG90eXBlKSkgewogICRFUlJPUignIzE6IE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBwcm90b3R5cGUgb2YgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Number\nprototype object is the Object prototype object","description":"Checking Object.prototype.isPrototypeOf(Number.prototype)","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJjb25zdHJ1Y3RvciIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSBjb25zdHJ1Y3RvcicpOwp9CgoK","commentary":"The Number prototype object has the property constructor","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1N0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b1N0cmluZyIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1N0cmluZycpOwp9CgoK","commentary":"The Number prototype object has the property toString","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0xvY2FsZVN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b0xvY2FsZVN0cmluZyIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0xvY2FsZVN0cmluZycpOwp9CgoK","commentary":"The Number prototype object has the property toLocaleString","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB2YWx1ZU9mCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvUzE1LjcuNF9BMy40LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdGVzdCB1c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdmFsdWVPZicpOwp9CgoK","commentary":"The Number prototype object has the property valueOf","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0ZpeGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvUzE1LjcuNF9BMy41LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdGVzdCB1c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRml4ZWQiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdG9GaXhlZCcpOwp9CgoK","commentary":"The Number prototype object has the property toFixed","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b0V4cG9uZW50aWFsCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvUzE1LjcuNF9BMy42LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdGVzdCB1c2VzIGhhc093blByb3BlcnR5KCkgbWV0aG9kCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvRXhwb25lbnRpYWwiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIE51bWJlciBwcm90b3R5cGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgdG9FeHBvbmVudGlhbCcpOwp9CgoK","commentary":"The Number prototype object has the property toExponential","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1ByZWNpc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40L1MxNS43LjRfQTMuNy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3QgdXNlcyBoYXNPd25Qcm9wZXJ0eSgpIG1ldGhvZAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJ0b1ByZWNpc2lvbiIpICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiBUaGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eSB0b1ByZWNpc2lvbicpOwp9CgoK","commentary":"The Number prototype object has the property toPrecision","description":"The test uses hasOwnProperty() method","path":"TestCases/ch15/15.7/15.7.4/S15.7.4_A3.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBOdW1iZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZQogKiBidWlsdC1pbiBOdW1iZXIgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuMS9TMTUuNy40LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB3aXRoIE51bWJlcgogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09IE51bWJlcicpOwp9CgoK","commentary":"The initial value of Number.prototype.constructor is the\nbuilt-in Number constructor","description":"Compare Number.prototype.constructor with Number","path":"TestCases/ch15/15.7/15.7.4/15.7.4.1/S15.7.4.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgdGhlIG51bWJlciAxMCBvciB1bmRlZmluZWQsIHRoZW4gdGhpcwogKiBudW1iZXIgdmFsdWUgaXMgZ2l2ZW4gYXMgYW4gYXJndW1lbnQgdG8gdGhlIFRvU3RyaW5nIG9wZXJhdG9yLgogKiB0aGUgcmVzdWx0aW5nIHN0cmluZyB2YWx1ZSBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BMV9UMDEuanMKICogQGRlc2NyaXB0aW9uIHVuZGVmaW5lZCByYWRpeAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygpID09PSAiMCInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoKSAhPT0gIjAiKXsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgPT09ICJJbmZpbml0eSInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is the number 10 or undefined, then this\nnumber value is given as an argument to the ToString operator.\nthe resulting string value is returned","description":"undefined radix","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgdGhlIG51bWJlciAxMCBvciB1bmRlZmluZWQsIHRoZW4gdGhpcwogKiBudW1iZXIgdmFsdWUgaXMgZ2l2ZW4gYXMgYW4gYXJndW1lbnQgdG8gdGhlIFRvU3RyaW5nIG9wZXJhdG9yLgogKiB0aGUgcmVzdWx0aW5nIHN0cmluZyB2YWx1ZSBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BMV9UMDIuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDEwCiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTApICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMTApID09PSAiMCInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEwKSAhPT0gIjAiKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZygxMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDEwKSAhPT0gIjAiKXsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTApID09PSAiMCInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTApICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDEwKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDEwKSAhPT0gIjEiKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTApID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMTApID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTApICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMCkgPT09ICJJbmZpbml0eSInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEwKSAhPT0gIi1JbmZpbml0eSIpewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEwKSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is the number 10 or undefined, then this\nnumber value is given as an argument to the ToString operator.\nthe resulting string value is returned","description":"radix is 10","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgdGhlIG51bWJlciAxMCBvciB1bmRlZmluZWQsIHRoZW4gdGhpcwogKiBudW1iZXIgdmFsdWUgaXMgZ2l2ZW4gYXMgYW4gYXJndW1lbnQgdG8gdGhlIFRvU3RyaW5nIG9wZXJhdG9yLgogKiB0aGUgcmVzdWx0aW5nIHN0cmluZyB2YWx1ZSBpcyByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BMV9UMDMuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIHVuZGVmaW5lZCB2YWx1ZQogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyh1bmRlZmluZWQpID09PSAiMCInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcodW5kZWZpbmVkKSAhPT0gIjAiKXsKICAkRVJST1IoJyMzOiAobmV3IE51bWJlcigwKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIi0xIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcodW5kZWZpbmVkKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgPT09ICJJbmZpbml0eSInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKHVuZGVmaW5lZCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyh1bmRlZmluZWQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is the number 10 or undefined, then this\nnumber value is given as an argument to the ToString operator.\nthe resulting string value is returned","description":"radix is undefined value","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A1_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMgogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDIpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMikgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDIpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMikgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyKSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 2","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMwogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDMpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDMpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMykgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDMpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMykgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzKSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 3","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDQpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDQpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDQpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg0KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDQpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg0KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 4","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNQogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDUpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDUpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNSkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDUpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg1KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDUpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNSkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg1KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 5","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNgogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDYpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDYpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNikgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDYpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg2KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDYpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNikgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg2KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 6","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgNwogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDcpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNykgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDcpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg3KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDcpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDcpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoNykgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDcpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg3KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg3KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDcpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg3KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoNykgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg3KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 7","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T06.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwNy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgOAogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDgpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDgpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg4KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDgpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDgpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoOCkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDgpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg4KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg4KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDgpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg4KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOCkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg4KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 8","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T07.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwOC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgOQogKi8KCi8vQ0hFQ0sjMQppZihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDkpICE9PSAiMCIpewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDkpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZyg5KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZigobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDkpICE9PSAiLTEiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDkpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoOSkgIT09ICIxIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDkpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg5KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyg5KSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDkpICE9PSAiSW5maW5pdHkiKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg5KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoOSkgIT09ICItSW5maW5pdHkiKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyg5KSA9PT0gIi1JbmZpbml0eSInKTsKfQoK","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 9","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T08.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QwOS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTEKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTEpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDExKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTEpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTEpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTEpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDExKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDExKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTEpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTEpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 11","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T09.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTIKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTIpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTIpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTIpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTIpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 12","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTMKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTMpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDEzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxMykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTMpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxMykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxMykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxMykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDEzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTMpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTMpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 13","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTQKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTQpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTQpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTQpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 14","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTUKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTUpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTUpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTUpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTUpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 15","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTYpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTYpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTYpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTYpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 16","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTcKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTcpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE3KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTcpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxNykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTcpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTcpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxNykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE3KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxNykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxNykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE3KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTcpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTcpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 17","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTgKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTgpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE4KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTgpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxOCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTgpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTgpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxOCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE4KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxOCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE4KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTgpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTgpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 18","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMTkKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMTkpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDE5KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMTkpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygxOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxOSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMTkpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMTkpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygxOSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDE5KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygxOSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxOSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDE5KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTkpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMTkpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 19","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjAKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjApICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIwKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjApICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjApID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjApICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIwKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIwKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjApICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjApID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 20","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjEKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjEpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIxKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjEpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjEpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjEpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIxKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIxKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjEpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjEpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 21","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjIKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjIpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjIpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjIpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjIpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 22","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjMKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjMpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDIzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyMykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjMpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyMykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDIzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyMykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyMykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDIzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjMpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjMpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 23","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjQKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjQpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjQpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjQpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 24","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjUKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjUpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjUpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjUpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjUpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 25","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjYpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjYpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjYpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjYpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 26","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjcKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjcpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI3KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjcpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyNykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyNykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjcpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjcpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyNykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI3KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyNykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyNykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI3KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjcpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjcpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 27","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjgKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjgpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI4KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjgpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyOCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyOCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjgpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjgpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyOCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI4KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyOCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyOCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI4KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjgpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjgpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 28","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyNy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMjkKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygyOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMjkpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDI5KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMjkpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygyOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygyOSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMjkpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMjkpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygyOSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDI5KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygyOSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygyOSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDI5KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjkpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMjkpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 29","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyOC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzAKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzApICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMwKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzApICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzApID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzApICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMwKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMwKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzApICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzApID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 30","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QyOS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzEKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzEpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMxKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzEpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzEpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzEpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMxKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMxKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzEpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzEpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 31","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzIKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzIpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMyKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzIpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzIpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzIpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMyKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMyKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzIpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzIpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 32","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMS5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzMKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMykgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzMpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDMzKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzMpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzMykgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzMykgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzMpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzMpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzMykgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDMzKSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzMykgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzMykgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDMzKSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzMpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzMpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 33","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMi5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzQKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzQpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM0KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzQpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNCkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzQpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzQpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNCkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM0KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNCkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM0KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzQpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzQpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 34","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzMy5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzUKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNSkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzUpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM1KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzUpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNSkgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzUpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzUpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNSkgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM1KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNSkgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM1KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzUpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzUpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 35","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogSWYgcmFkaXggaXMgYW4gaW50ZWdlciBmcm9tIDIgdG8gMzYsIGJ1dCBub3QgMTAsCiAqIHRoZSByZXN1bHQgaXMgYSBzdHJpbmcsIHRoZSBjaG9pY2Ugb2Ygd2hpY2ggaXMgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjIvUzE1LjcuNC4yX0EyX1QzNC5qcwogKiBAZGVzY3JpcHRpb24gcmFkaXggaXMgMzYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNikgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMzYpICE9PSAiMCIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM2KSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMzYpICE9PSAiMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNikgPT09ICIwIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNikgIT09ICItMSIpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudG9TdHJpbmcoMzYpID09PSAiLTEiJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudG9TdHJpbmcoMzYpICE9PSAiMSIpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNikgPT09ICIxIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM2KSAhPT0gIk5hTiIpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygzNikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNwppZigobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNikgIT09ICJJbmZpbml0eSIpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDM2KSA9PT0gIkluZmluaXR5IicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzYpICE9PSAiLUluZmluaXR5Iil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzYpID09PSAiLUluZmluaXR5IicpOwp9Cgo=","commentary":"toString: If radix is an integer from 2 to 36, but not 10,\nthe result is a string, the choice of which is implementation-dependent","description":"radix is 36","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A2_T34.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDEuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDEKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBuID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygxKTsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMSkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzQKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygxKTsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcigxKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzYKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDEpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzcKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxKTsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygxKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM4CnRyeXsKICB2YXIgbiA9KG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMSk7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMSkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCg==","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is 1","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDIuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDM3CiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgbiA9TnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygzNykgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIG4gPShuZXcgTnVtYmVyKCkpLnRvU3RyaW5nKDM3KTsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS50b1N0cmluZygzNykgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPShuZXcgTnVtYmVyKDApKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDM3KSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM0CnRyeXsKICB2YXIgbiA9KG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygzNykgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjNQp0cnl7CiAgdmFyIG4gPShuZXcgTnVtYmVyKDEpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDM3KSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgbiA9KG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnRvU3RyaW5nKDM3KTsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzcKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjNzogKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzgKdHJ5ewogIHZhciBuID0obmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygzNyk7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudG9TdHJpbmcoMzcpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9Cgo=","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is 37","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDMuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIG51bGwgdmFsdWUKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBuID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcobnVsbCk7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcobnVsbCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcigwKSkudG9TdHJpbmcobnVsbCk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzQKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKG51bGwpOwogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZyhudWxsKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcobnVsbCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjNwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyhudWxsKTsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZyhudWxsKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM4CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKG51bGwpOwogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKG51bGwpIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9Cgo=","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is null value","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b1N0cmluZzogcmFkaXggc2hvdWxkIGJlIGFuIGludGVnZXIgYmV0d2VlbiAyIGFuZCAzNgogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BM19UMDQuanMKICogQGRlc2NyaXB0aW9uIHJhZGl4IGlzIDAKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBuID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZygwKTsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzIKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMCk7CiAgJEVSUk9SKCcjMjogKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcoMCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjMwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcigwKSkudG9TdHJpbmcoMCk7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzQKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoLTEpKS50b1N0cmluZygwKTsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigtMSkpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9CgovL0NIRUNLIzUKdHJ5ewogIHZhciBuID0gKG5ldyBOdW1iZXIoMSkpLnRvU3RyaW5nKDApOwogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDEpKS50b1N0cmluZygwKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM2CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS50b1N0cmluZygwKTsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcihOdW1iZXIuTmFOKSkudG9TdHJpbmcoMCkgc2hvdWxkIHRocm93IGFuIEVycm9yJyk7Cn0KY2F0Y2goZSl7Cn0KCi8vQ0hFQ0sjNwp0cnl7CiAgdmFyIG4gPSAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygwKTsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS50b1N0cmluZygwKSBzaG91bGQgdGhyb3cgYW4gRXJyb3InKTsKfQpjYXRjaChlKXsKfQoKLy9DSEVDSyM4CnRyeXsKICB2YXIgbiA9IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDApOwogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnRvU3RyaW5nKDApIHNob3VsZCB0aHJvdyBhbiBFcnJvcicpOwp9CmNhdGNoKGUpewp9Cgo=","commentary":"toString: radix should be an integer between 2 and 36","description":"radix is 0","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A3_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDEuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgU3RyaW5nIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBTdHJpbmcoKTsKICBzMS50b1N0cmluZyA9IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IFN0cmluZygpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the String objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDIuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgQm9vbGVhbiBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSBuZXcgQm9vbGVhbigpOwogIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKICB2YXIgdjEgPSBzMS50b1N0cmluZygpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgQm9vbGVhbigpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Boolean objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDMuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgRGF0ZSBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSBuZXcgRGF0ZSgpOwogIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKICB2YXIgdjEgPSBzMS50b1N0cmluZygpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgRGF0ZSgpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Date objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDQuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgT2JqZWN0IG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBPYmplY3QoKTsKICBzMS50b1N0cmluZyA9IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYxID0gczEudG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IE9iamVjdCgpOwogIHMyLm15VG9TdHJpbmcgPSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nOwogIHZhciB2MiA9IHMyLm15VG9TdHJpbmcoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcgb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Object objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWMsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZAogKiB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QgYW5kIHRoZXJlIGlzIHNob3VsZCBiZQogKiBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgTnVtYmVyIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjcvMTUuNy40LzE1LjcuNC4yL1MxNS43LjQuMl9BNF9UMDUuanMKICogQGRlc2NyaXB0aW9uIHRyYW5zZmVycmluZyB0byB0aGUgb3RoZXIgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0ge3g6IDF9OwogIHMxLnRvU3RyaW5nID0gTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZzsKICB2YXIgdjEgPSBzMS50b1N0cmluZygpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSB7eDogMX07CiAgczIubXlUb1N0cmluZyA9IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmc7CiAgdmFyIHYyID0gczIubXlUb1N0cmluZygpOyAKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZyBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKCg==","commentary":"The toString function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the other objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.2/S15.7.4.2_A4_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgbnVtYmVyIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0ExX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB3aXRob3V0IGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUudmFsdWVPZigpICE9PSAwKXsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKSA9PT0gMCcpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudmFsdWVPZigpICE9PSAwKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS52YWx1ZU9mKCkgPT09IDAnKTsKfQoKLy9DSEVDSyMzCmlmKChuZXcgTnVtYmVyKDApKS52YWx1ZU9mKCkgIT09IDApewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDApKS52YWx1ZU9mKCkgPT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigpICE9PSAtMSl7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoLTEpKS52YWx1ZU9mKCkgPT09IC0xJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxKSkudmFsdWVPZigpICE9PSAxKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudmFsdWVPZigpID09PSAxJyk7Cn0KCi8vQ0hFQ0sjNgppZighaXNOYU4oKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnZhbHVlT2YoKSkpewogICRFUlJPUignIzY6IChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS52YWx1ZU9mKCkgPT09IE5hTicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudmFsdWVPZigpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpewogICRFUlJPUignIzc6IChuZXcgTnVtYmVyKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpLnZhbHVlT2YoKSA9PT0gSW5maW5pdHknKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpLnZhbHVlT2YoKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCkgPT09IC1JbmZpbml0eScpOwp9Cgo=","commentary":"Number.prototype.valueOf() returns this number value","description":"Call without argument","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgbnVtYmVyIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0ExX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gY2FsbGluZyB3aXRoIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCmlmKE51bWJlci5wcm90b3R5cGUudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gMCl7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IE51bWJlcigpKS52YWx1ZU9mKCJhcmd1bWVudCIpICE9PSAwKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigwKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gMCl7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMCkpLnZhbHVlT2YoImFyZ3VtZW50IikgPT09IDAnKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gLTEpewogICRFUlJPUignIzQ6IChuZXcgTnVtYmVyKC0xKSkudmFsdWVPZigiYXJndW1lbnQiKSA9PT0gLTEnKTsKfQoKLy9DSEVDSyM1CmlmKChuZXcgTnVtYmVyKDEpKS52YWx1ZU9mKCJhcmd1bWVudCIpICE9PSAxKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudmFsdWVPZigiYXJndW1lbnQiKSA9PT0gMScpOwp9CgovL0NIRUNLIzYKaWYoIWlzTmFOKChuZXcgTnVtYmVyKE51bWJlci5OYU4pKS52YWx1ZU9mKCJhcmd1bWVudCIpKSl7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoTnVtYmVyLk5hTikpLnZhbHVlT2YoImFyZ3VtZW50IikgPT09IE5hTicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSBJbmZpbml0eScpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkudmFsdWVPZigiYXJndW1lbnQiKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyM4OiAobmV3IE51bWJlcihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKS52YWx1ZU9mKCJhcmd1bWVudCIpID09PSAtSW5maW5pdHknKTsKfQoK","commentary":"Number.prototype.valueOf() returns this number value","description":"calling with argument","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBTdHJpbmcgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IFN0cmluZygpOwogIHMxLnZhbHVlT2YgPSBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IFN0cmluZygpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the String objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBCb29sZWFuIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBCb29sZWFuKCk7CiAgczEudmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjEgPSBzMS52YWx1ZU9mKCk7IAogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgQm9vbGVhbigpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Boolean objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwMy5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBEYXRlIG9iamVjdHMKICovCgovL0NIRUNLIzEKdHJ5ewogIHZhciBzMSA9IG5ldyBEYXRlKCk7CiAgczEudmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjEgPSBzMS52YWx1ZU9mKCk7IAogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSBuZXcgRGF0ZSgpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Date objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwNC5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBPYmplY3Qgb2JqZWN0cwogKi8KCi8vQ0hFQ0sjMQp0cnl7CiAgdmFyIHMxID0gbmV3IE9iamVjdCgpOwogIHMxLnZhbHVlT2YgPSBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Y7CiAgdmFyIHYxID0gczEudmFsdWVPZigpOyAKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnl7CiAgdmFyIHMyID0gbmV3IE9iamVjdCgpOwogIHMyLm15VmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjIgPSBzMi5teVZhbHVlT2YoKTsgCiAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvcicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpewogICAgJEVSUk9SKCcjMjogTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIG9uIG5vdCBhIE51bWJlciBvYmplY3Qgc2hvdWxkIHRocm93IFR5cGVFcnJvciwgbm90ICcrZSk7CiAgfQp9CgoK","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the Object objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYywgaXQgY2Fubm90IGJlIHRyYW5zZmVycmVkCiAqIHRvIG90aGVyIGtpbmRzIG9mIG9iamVjdHMgZm9yIHVzZSBhcyBhIG1ldGhvZCBhbmQgdGhlcmUgaXMgc2hvdWxkIGJlCiAqIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjQvUzE1LjcuNC40X0EyX1QwNS5qcwogKiBAZGVzY3JpcHRpb24gdHJhbnNmZXJyaW5nIHRvIHRoZSBvdGhlciBvYmplY3RzCiAqLwoKLy9DSEVDSyMxCnRyeXsKICB2YXIgczEgPSB7eDogMX07CiAgczEudmFsdWVPZiA9IE51bWJlci5wcm90b3R5cGUudmFsdWVPZjsKICB2YXIgdjEgPSBzMS52YWx1ZU9mKCk7IAogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3InKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKXsKICAgICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudmFsdWVPZiBvbiBub3QgYSBOdW1iZXIgb2JqZWN0IHNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoKLy9DSEVDSyMyCnRyeXsKICB2YXIgczIgPSB7eDogMX07CiAgczIubXlWYWx1ZU9mID0gTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mOwogIHZhciB2MiA9IHMyLm15VmFsdWVPZigpOyAKICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yJyk7Cn0KY2F0Y2goZSl7CiAgaWYoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSl7CiAgICAkRVJST1IoJyMyOiBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2Ygb24gbm90IGEgTnVtYmVyIG9iamVjdCBzaG91bGQgdGhyb3cgVHlwZUVycm9yLCBub3QgJytlKTsKICB9Cn0KCgo=","commentary":"The valueOf function is not generic, it cannot be transferred\nto other kinds of objects for use as a method and there is should be\na TypeError exception if its this value is not a Number object","description":"transferring to the other objects","path":"TestCases/ch15/15.7/15.7.4/15.7.4.4/S15.7.4.4_A2_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDE6IExldCBmIGJlIFRvSW50ZWdlcihmcmFjdGlvbkRpZ2l0cykuIChJZiBmcmFjdGlvbkRpZ2l0cwogKiBpcyB1bmRlZmluZWQsIHRoaXMgc3RlcCBwcm9kdWNlcyB0aGUgdmFsdWUgMCkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuMV9UMDEuanMKICogQGRlc2NyaXB0aW9uIGNhbGxpbmcgb24gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCkgIT09ICIwIil7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCkgPT09ICIwIicpOwp9CgovL0NIRUNLIzIKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDApICE9PSAiMCIpewogICRFUlJPUignIzI6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgwKSA9PT0gIjAiJyk7Cn0KCi8vQ0hFQ0sjMwppZihOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMSkgIT09ICIwLjAiKXsKICAkRVJST1IoJyMzOiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMSkgPT09ICIwLjAiJyk7Cn0KCi8vQ0hFQ0sjNAppZihOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoMS4xKSAhPT0gIjAuMCIpewogICRFUlJPUignIzQ6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgxLjEpID09PSAiMC4wIicpOwp9CgovL0NIRUNLIzUKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDAuOSkgIT09ICIwIil7CiAgJEVSUk9SKCcjNTogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKDAuOSkgPT09ICIwIicpOwp9CgovL0NIRUNLIzYKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCIxIikgIT09ICIwLjAiKXsKICAkRVJST1IoJyM2OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjEiKSA9PT0gIjAuMCInKTsKfQoKLy9DSEVDSyM3CmlmKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgiMS4xIikgIT09ICIwLjAiKXsKICAkRVJST1IoJyM3OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjEuMSIpID09PSAiMC4wIicpOwp9CgovL0NIRUNLIzgKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKCIwLjkiKSAhPT0gIjAiKXsKICAkRVJST1IoJyM4OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoIjAuOSIpID09PSAiMCInKTsKfQoKLy9DSEVDSyM5CmlmKE51bWJlci5wcm90b3R5cGUudG9GaXhlZChOdW1iZXIuTmFOKSAhPT0gIjAiKXsKICAkRVJST1IoJyM5OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoTnVtYmVyLk5hTikgPT09ICIwIicpOwp9CgovL0NIRUNLIzEwCmlmKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgic29tZSBzdHJpbmciKSAhPT0gIjAiKXsKICAkRVJST1IoJyM5OiBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09ICIwIicpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBpZihOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoLTAuMSkgIT09ICIwIil7CiAgICAkRVJST1IoJyMxMDogTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKC0wLjEpID09PSAiMCInKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCcjMTA6IE51bWJlci5wcm90b3R5cGUudG9GaXhlZCgtMC4xKSBzaG91bGQgbm90IHRocm93ICcrZSk7Cn0KCg==","commentary":"Step 1: Let f be ToInteger(fractionDigits). (If fractionDigits\nis undefined, this step produces the value 0)","description":"calling on Number prototype object","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDE6IExldCBmIGJlIFRvSW50ZWdlcihmcmFjdGlvbkRpZ2l0cykuIChJZiBmcmFjdGlvbkRpZ2l0cwogKiBpcyB1bmRlZmluZWQsIHRoaXMgc3RlcCBwcm9kdWNlcyB0aGUgdmFsdWUgMCkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuMV9UMDIuanMKICogQGRlc2NyaXB0aW9uIGNhbGxpbmcgb24gTnVtYmVyIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigxKSkudG9GaXhlZCgpICE9PSAiMSIpewogICRFUlJPUignIzE6IChuZXcgTnVtYmVyKDEpKS5wcm90b3R5cGUudG9GaXhlZCgpID09PSAiMSInKTsKfQoKLy9DSEVDSyMyCmlmKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKDApICE9PSAiMSIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKDEpKS5wcm90b3R5cGUudG9GaXhlZCgwKSA9PT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjMwppZigobmV3IE51bWJlcigxKSkudG9GaXhlZCgxKSAhPT0gIjEuMCIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKDEpKS5wcm90b3R5cGUudG9GaXhlZCgxKSA9PT0gIjEuMCInKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKDEuMSkgIT09ICIxLjAiKXsKICAkRVJST1IoJyM0OiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgxLjEpID09PSAiMS4wIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoMC45KSAhPT0gIjEiKXsKICAkRVJST1IoJyM1OiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgwLjkpID09PSAiMSInKTsKfQoKLy9DSEVDSyM2CmlmKChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIxIikgIT09ICIxLjAiKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgiMSIpID09PSAiMS4wIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoIjEuMSIpICE9PSAiMS4wIil7CiAgJEVSUk9SKCcjNzogKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoIjEuMSIpID09PSAiMS4wIicpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoIjAuOSIpICE9PSAiMSIpewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDEpKS50b0ZpeGVkKCIwLjkiKSA9PT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjOQppZigobmV3IE51bWJlcigxKSkudG9GaXhlZChOdW1iZXIuTmFOKSAhPT0gIjEiKXsKICAkRVJST1IoJyM5OiAobmV3IE51bWJlcigxKSkudG9GaXhlZChOdW1iZXIuTmFOKSA9PT0gIjEiJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYoKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgIT09ICIxIil7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09ICIxIicpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBpZigobmV3IE51bWJlcigxKSkudG9GaXhlZCgtMC4xKSAhPT0gIjEiKXsKICAgICRFUlJPUignIzEwOiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgtMC4xKSA9PT0gIjEiJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUignIzEwOiAobmV3IE51bWJlcigxKSkudG9GaXhlZCgtMC4xKSBzaG91bGQgbm90IHRocm93ICcrZSk7Cn0KCg==","commentary":"Step 1: Let f be ToInteger(fractionDigits). (If fractionDigits\nis undefined, this step produces the value 0)","description":"calling on Number object","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDQ6IElmIHRoaXMgbnVtYmVyIHZhbHVlIGlzIE5hTiwgcmV0dXJuIHRoZSBzdHJpbmcgIk5hTiIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuM19UMDEuanMKICogQGRlc2NyaXB0aW9uIE5hTiBpcyBjb21wdXRlZCBieSBuZXcgTnVtYmVyKCJzdHJpbmciKQogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyMxOiAobmV3IE51bWJlcigiYSIpKS5wcm90b3R5cGUudG9GaXhlZCgpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgwKSAhPT0gIk5hTiIpewogICRFUlJPUignIzI6IChuZXcgTnVtYmVyKCJhIikpLnByb3RvdHlwZS50b0ZpeGVkKDApID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxKSAhPT0gIk5hTiIpewogICRFUlJPUignIzM6IChuZXcgTnVtYmVyKCJhIikpLnByb3RvdHlwZS50b0ZpeGVkKDEpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzQKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxLjEpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgxLjEpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzUKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgwLjkpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNTogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgwLjkpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMSIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNjogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMSIpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzcKaWYoKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMS4xIikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCIxLjEiKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM4CmlmKChuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoIjAuOSIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjODogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgiMC45IikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjOQppZigobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKE51bWJlci5OYU4pICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZChOdW1iZXIuTmFOKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyMxMAppZigobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKCJzb21lIHN0cmluZyIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZCgic29tZSBzdHJpbmciKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyMxMAp0cnl7CiAgcyA9IChuZXcgTnVtYmVyKCJhIikpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsKICAkRVJST1IoJyMxMDogKG5ldyBOdW1iZXIoImEiKSkudG9GaXhlZChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHNob3VsZCB0aHJvdyBSYW5nZUVycm9yLCBub3QgcmV0dXJuIE5hTicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpKXsKICAgICRFUlJPUignIzEwOiAobmV3IE51bWJlcigiYSIpKS50b0ZpeGVkKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgc2hvdWxkIHRocm93IFJhbmdlRXJyb3IsIG5vdCAnK2UpOwogIH0KfQoK","commentary":"Step 4: If this number value is NaN, return the string \"NaN\"","description":"NaN is computed by new Number(\"string\")","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDQ6IElmIHRoaXMgbnVtYmVyIHZhbHVlIGlzIE5hTiwgcmV0dXJuIHRoZSBzdHJpbmcgIk5hTiIKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuM19UMDIuanMKICogQGRlc2NyaXB0aW9uIGRpcmVjdCB1c2FnZSBvZiBOYU4KICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyMxOiBOdW1iZXIuTmFOLnByb3RvdHlwZS50b0ZpeGVkKCkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjMgppZihOdW1iZXIuTmFOLnRvRml4ZWQoMCkgIT09ICJOYU4iKXsKICAkRVJST1IoJyMyOiBOdW1iZXIuTmFOLnByb3RvdHlwZS50b0ZpeGVkKDApID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzMKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKDEpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjMzogTnVtYmVyLk5hTi5wcm90b3R5cGUudG9GaXhlZCgxKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM0CmlmKE51bWJlci5OYU4udG9GaXhlZCgxLjEpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjNDogTnVtYmVyLk5hTi50b0ZpeGVkKDEuMSkgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjNQppZihOdW1iZXIuTmFOLnRvRml4ZWQoMC45KSAhPT0gIk5hTiIpewogICRFUlJPUignIzU6IE51bWJlci5OYU4udG9GaXhlZCgwLjkpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzYKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCIxIikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM2OiBOdW1iZXIuTmFOLnRvRml4ZWQoIjEiKSA9PT0gIk5hTiInKTsKfQoKLy9DSEVDSyM3CmlmKE51bWJlci5OYU4udG9GaXhlZCgiMS4xIikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM3OiBOdW1iZXIuTmFOLnRvRml4ZWQoIjEuMSIpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzgKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCIwLjkiKSAhPT0gIk5hTiIpewogICRFUlJPUignIzg6IE51bWJlci5OYU4udG9GaXhlZCgiMC45IikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjOQppZihOdW1iZXIuTmFOLnRvRml4ZWQoTnVtYmVyLk5hTikgIT09ICJOYU4iKXsKICAkRVJST1IoJyM5OiBOdW1iZXIuTmFOLnRvRml4ZWQoTnVtYmVyLk5hTikgPT09ICJOYU4iJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYoTnVtYmVyLk5hTi50b0ZpeGVkKCJzb21lIHN0cmluZyIpICE9PSAiTmFOIil7CiAgJEVSUk9SKCcjOTogTnVtYmVyLk5hTi50b0ZpeGVkKCJzb21lIHN0cmluZyIpID09PSAiTmFOIicpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBzID0gTnVtYmVyLk5hTi50b0ZpeGVkKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CiAgJEVSUk9SKCcjMTA6IE51bWJlci5OYU4udG9GaXhlZChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHNob3VsZCB0aHJvdyBSYW5nZUVycm9yLCBub3QgcmV0dXJuIE5hTicpOwp9CmNhdGNoKGUpewogIGlmKCEoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpKXsKICAgICRFUlJPUignIzEwOiBOdW1iZXIuTmFOLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgdGhyb3cgUmFuZ2VFcnJvciwgbm90ICcrZSk7CiAgfQp9Cgo=","commentary":"Step 4: If this number value is NaN, return the string \"NaN\"","description":"direct usage of NaN","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.3_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdGVwIDk6IElmIHggPj0gMTBeMjEsIGxldCBtID0gVG9TdHJpbmcoeCkKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNC8xNS43LjQuNS9TMTUuNy40LjVfQTEuNF9UMDEuanMKICogQGRlc2NyaXB0aW9uIHggaXMgMTBeMjEKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyMxOiAobmV3IE51bWJlcigxZTIxKSkucHJvdG90eXBlLnRvRml4ZWQoKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjMgppZigobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgwKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyMyOiAobmV3IE51bWJlcigxZTIxKSkucHJvdG90eXBlLnRvRml4ZWQoMCkgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzMKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoMSkgIT09IFN0cmluZygxZTIxKSl7CiAgJEVSUk9SKCcjMzogKG5ldyBOdW1iZXIoMWUyMSkpLnByb3RvdHlwZS50b0ZpeGVkKDEpID09PSBTdHJpbmcoMWUyMSknKTsKfQoKLy9DSEVDSyM0CmlmKChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKDEuMSkgIT09IFN0cmluZygxZTIxKSl7CiAgJEVSUk9SKCcjNDogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoMS4xKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjNQppZigobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgwLjkpICE9PSBTdHJpbmcoMWUyMSkpewogICRFUlJPUignIzU6IChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKDAuOSkgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzYKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoIjEiKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyM2OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgiMSIpID09PSBTdHJpbmcoMWUyMSknKTsKfQoKLy9DSEVDSyM3CmlmKChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKCIxLjEiKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyM3OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZCgiMS4xIikgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzgKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoIjAuOSIpICE9PSBTdHJpbmcoMWUyMSkpewogICRFUlJPUignIzg6IChuZXcgTnVtYmVyKDFlMjEpKS50b0ZpeGVkKCIwLjkiKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjOQppZigobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZChOdW1iZXIuTmFOKSAhPT0gU3RyaW5nKDFlMjEpKXsKICAkRVJST1IoJyM5OiAobmV3IE51bWJlcigxZTIxKSkudG9GaXhlZChOdW1iZXIuTmFOKSA9PT0gU3RyaW5nKDFlMjEpJyk7Cn0KCi8vQ0hFQ0sjMTAKaWYoKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgIT09IFN0cmluZygxZTIxKSl7CiAgJEVSUk9SKCcjOTogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoInNvbWUgc3RyaW5nIikgPT09IFN0cmluZygxZTIxKScpOwp9CgovL0NIRUNLIzEwCnRyeXsKICBzID0gKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsKICAkRVJST1IoJyMxMDogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgdGhyb3cgUmFuZ2VFcnJvciwgbm90IHJldHVybiBOYU4nKTsKfQpjYXRjaChlKXsKICBpZighKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSl7CiAgICAkRVJST1IoJyMxMDogKG5ldyBOdW1iZXIoMWUyMSkpLnRvRml4ZWQoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSBzaG91bGQgdGhyb3cgUmFuZ2VFcnJvciwgbm90ICcrZSk7CiAgfQp9Cgo=","commentary":"Step 9: If x >= 10^21, let m = ToString(x)","description":"x is 10^21","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A1.4_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0ZpeGVkIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNy8xNS43LjQvMTUuNy40LjUvUzE1LjcuNC41X0EyX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgTnVtYmVyIHByb3RvdHlwZSBpdHNlbGYKICovCgovL0NIRUNLIzEKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9GaXhlZCBtZXRob2QgaXMgMScpOwp9CgovL0NIRUNLIzIKaWYoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkLmxlbmd0aCAhPT0gMSl7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9GaXhlZCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the toFixed method is 1","description":"Checking Number prototype itself","path":"TestCases/ch15/15.7/15.7.4/15.7.4.5/S15.7.4.5_A2_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgImNvbnN0cnVjdG9yIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkuY29uc3RydWN0b3IgIT09IE51bWJlci5wcm90b3R5cGUuY29uc3RydWN0b3IpewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAiY29uc3RydWN0b3IiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property constructor","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T01.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9TdHJpbmcKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvU3RyaW5nIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgInRvU3RyaW5nIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9TdHJpbmcgIT09IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcpewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAidG9TdHJpbmciIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toString","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T02.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9Mb2NhbGVTdHJpbmcKICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvTG9jYWxlU3RyaW5nIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgInRvTG9jYWxlU3RyaW5nIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9Mb2NhbGVTdHJpbmcgIT09IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAidG9Mb2NhbGVTdHJpbmciIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toLocaleString","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T03.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdmFsdWVPZgogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidmFsdWVPZiIpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFsIHByb3BlcnR5ICJ2YWx1ZU9mIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudmFsdWVPZiAhPT0gTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKXsKICAkRVJST1IoJyMyOiBOdW1iZXIgaW5zdGFuY2UgcHJvcGVydHkgInZhbHVlT2YiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property valueOf","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T04.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9GaXhlZAogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidG9GaXhlZCIpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFsIHByb3BlcnR5ICJ0b0ZpeGVkIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9GaXhlZCAhPT0gTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKXsKICAkRVJST1IoJyMyOiBOdW1iZXIgaW5zdGFuY2UgcHJvcGVydHkgInRvRml4ZWQiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toFixed","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T05.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9FeHBvbmVudGlhbAogKi8KCi8vQ0hFQ0sjMQppZigobmV3IE51bWJlcigpKS5oYXNPd25Qcm9wZXJ0eSgidG9FeHBvbmVudGlhbCIpICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogTnVtYmVyIGluc3RhbmNlIG11c3QgaGF2ZSBubyBzcGVjaWFsIHByb3BlcnR5ICJ0b0V4cG9uZW50aWFsIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9FeHBvbmVudGlhbCAhPT0gTnVtYmVyLnByb3RvdHlwZS50b0V4cG9uZW50aWFsKXsKICAkRVJST1IoJyMyOiBOdW1iZXIgaW5zdGFuY2UgcHJvcGVydHkgInRvRXhwb25lbnRpYWwiIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toExponential","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T06.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgaW5zdGFuY2VzIGhhdmUgbm8gc3BlY2lhbCBwcm9wZXJ0aWVzIGJleW9uZCB0aG9zZQogKiBpbmhlcml0ZWQgZnJvbSB0aGUgTnVtYmVyIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS43LzE1LjcuNS9TMTUuNy41X0ExX1QwNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvcGVydHkgdG9QcmVjaXNpb24KICovCgovL0NIRUNLIzEKaWYoKG5ldyBOdW1iZXIoKSkuaGFzT3duUHJvcGVydHkoInRvUHJlY2lzaW9uIikgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBOdW1iZXIgaW5zdGFuY2UgbXVzdCBoYXZlIG5vIHNwZWNpYWwgcHJvcGVydHkgInRvUHJlY2lzaW9uIicpOwp9CgovL0NIRUNLIzIKaWYoKG5ldyBOdW1iZXIoKSkudG9QcmVjaXNpb24gIT09IE51bWJlci5wcm90b3R5cGUudG9QcmVjaXNpb24pewogICRFUlJPUignIzI6IE51bWJlciBpbnN0YW5jZSBwcm9wZXJ0eSAidG9QcmVjaXNpb24iIG11c3QgYmUgaW5oZXJpdGVkIGZyb20gTnVtYmVyIHByb3RvdHlwZSBvYmplY3QnKTsKfQoKCg==","commentary":"Number instances have no special properties beyond those\ninherited from the Number prototype object","description":"Checking property toPrecision","path":"TestCases/ch15/15.7/15.7.5/S15.7.5_A1_T07.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkUgaXMgYXBwcm94aW1hdGVseSAyLjcxODI4MTgyODQ1OTA0NTIzNTQKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuMS9TMTUuOC4xLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmluZyBNYXRoLkUgd2l0aCAyLjcxODI4MTgyODQ1OTA0NTIzNTQKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQppZiAoIWlzRXF1YWwoTWF0aC5FLCAyLjcxODI4MTgyODQ1OTA0NTIzNTQpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkUgaXMgbm90IGFwcHJveGltYXRlbHkgZXF1YWwgdG8gMi43MTgyODE4Mjg0NTkwNDUyMzU0XCcnKTsKfQoK","commentary":"Math.E is approximately 2.7182818284590452354","description":"Comparing Math.E with 2.7182818284590452354","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4xL1MxNS44LjEuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5FIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqLwoKLy8gQ0hFQ0sjMQpmb3IoeCBpbiBNYXRoKSB7CiAgaWYoeCA9PT0gIkUiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RW51bTogXCdmb3IoeCBpbiBNYXRoKSB7eD09PSJFIn1cJycpOwogIH0KfQoKCg==","commentary":"Value Property E of the Math Object has the attribute DontEnum","description":"Checking if Math.E property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjEvUzE1LjguMS4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTWF0aC5FID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RGVsZXRlOiBcJ01hdGguRSA9PT0gdHJ1ZVwnJyk7Cn0KCgo=","commentary":"Value Property E of the Math Object has the attribute DontDelete","description":"Checking if Math.E property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBFIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4xL1MxNS44LjEuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5FIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLkU7Ck1hdGguRSA9IDE7CmlmIChNYXRoLkUgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLkUgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5FO01hdGguRSA9IDE7TWF0aC5FID09PSB4XCcnKTsKfQoK","commentary":"Value Property E of the Math Object has the attribute ReadOnly","description":"Checking if Math.E property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.1/S15.8.1.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxOMTAgaXMgYXBwcm94aW1hdGVseSAyLjMwMjU4NTA5Mjk5NDA0NgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4yL1MxNS44LjEuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyaW5nIE1hdGguTE4xMCB3aXRoIDIuMzAyNTg1MDkyOTk0MDQ2CiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE1hdGguTE4xMCwgMi4zMDI1ODUwOTI5OTQwNDYpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxOMTAgaXMgbm90IGFwcHJveGltYXRlbHkgZXF1YWwgdG8gMi4zMDI1ODUwOTI5OTQwNDZcJycpOwp9Cgo=","commentary":"Math.LN10 is approximately 2.302585092994046","description":"Comparing Math.LN10 with 2.302585092994046","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4yL1MxNS44LjEuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5MTjEwIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqLwoKLy8gQ0hFQ0sjMQpmb3IoeCBpbiBNYXRoKSB7CiAgaWYoeCA9PT0gIkxOMTAiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RW51bTogXCdmb3IoeCBpbiBNYXRoKSB7eD09PSJMTjEwIn1cJycpOwogIH0KfQoKCg==","commentary":"Value Property LN10 of the Math Object has the attribute DontEnum","description":"Checking if Math.LN10 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjIvUzE1LjguMS4yX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxOMTAgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTWF0aC5MTjEwID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogVmFsdWUgUHJvcGVydHkgTE4xMCBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLkxOMTAgPT09IHRydWVcJycpOwp9CgoK","commentary":"Value Property LN10 of the Math Object has the attribute DontDelete","description":"Checking if Math.LN10 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjEwIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4yL1MxNS44LjEuMl9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5MTjEwIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLkxOMTA7Ck1hdGguTE4xMCA9IDE7CmlmIChNYXRoLkxOMTAgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLkxOMTAgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5MTjEwO01hdGguTE4xMCA9IDE7TWF0aC5MTjEwID09PSB4XCcnKTsKfQoK","commentary":"Value Property LN10 of the Math Object has the attribute ReadOnly","description":"Checking if Math.LN10 property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.2/S15.8.1.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxOMiBpcyBhcHByb3hpbWF0ZWx5IDAuNjkzMTQ3MTgwNTU5OTQ1MwogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS4zL1MxNS44LjEuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyaW5nIE1hdGguTE4yIHdpdGggMC42OTMxNDcxODA1NTk5NDUzCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE1hdGguTE4yLCAwLjY5MzE0NzE4MDU1OTk0NTMpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxOMiBpcyBub3QgYXBwcm94aW1hdGVseSBlcXVhbCB0byAwLjY5MzE0NzE4MDU1OTk0NTNcJycpOwp9Cgo=","commentary":"Math.LN2 is approximately 0.6931471805599453","description":"Comparing Math.LN2 with 0.6931471805599453","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjMvUzE1LjguMS4zX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxOMiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKi8KCi8vIENIRUNLIzEKZm9yKHggaW4gTWF0aCkgewogIGlmKHggPT09ICJMTjIiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnRFbnVtOiBcJ2Zvcih4IGluIE1hdGgpIHt4PT09IkxOMiJ9XCcnKTsKICB9Cn0KCgo=","commentary":"Value Property LN2 of the Math Object has the attribute DontEnum","description":"Checking if Math.LN2 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuMy9TMTUuOC4xLjNfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE4yIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE1hdGguTE4yID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnREZWxldGU6IFwnTWF0aC5MTjIgPT09IHRydWVcJycpOwp9CgoK","commentary":"Value Property LN2 of the Math Object has the attribute DontDelete","description":"Checking if Math.LN2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMTjIgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjMvUzE1LjguMS4zX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxOMiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLkxOMjsKTWF0aC5MTjIgPSAxOwppZiAoTWF0aC5MTjIgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLkxOMiBoYXNuXCd0IFJlYWRPbmx5OiBcJ3ggPSBNYXRoLkxOMjtNYXRoLkxOMiA9IDE7TWF0aC5MTjIgPT09IHhcJycpOwp9Cgo=","commentary":"Value Property LN2 of the Math Object has the attribute ReadOnly","description":"Checking if Math.LN2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.3/S15.8.1.3_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxPRzJFIGlzIGFwcHJveGltYXRlbHkgMS40NDI2OTUwNDA4ODg5NjM0CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjQvUzE1LjguMS40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJpbmcgTWF0aC5MT0cyRSB3aXRoIDEuNDQyNjk1MDQwODg4OTYzNAogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChNYXRoLkxPRzJFLCAxLjQ0MjY5NTA0MDg4ODk2MzQpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxPRzJFIGlzIG5vdCBhcHByb3hpbWF0bGV5IGVxdWFsIHRvIDEuNDQyNjk1MDQwODg4OTYzNFwnJyk7Cn0KCg==","commentary":"Math.LOG2E is approximately 1.4426950408889634","description":"Comparing Math.LOG2E with 1.4426950408889634","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNC9TMTUuOC4xLjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE9HMkUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICovCgovLyBDSEVDSyMxCmZvcih4IGluIE1hdGgpIHsKICBpZih4ID09PSAiTE9HMkUiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udEVudW06IFwnZm9yKHggaW4gTWF0aCkge3g9PT0iTE9HMkUifVwnJyk7CiAgfQp9CgoK","commentary":"Value Property LOG2E of the Math Object has the attribute DontEnum","description":"Checking if Math.LOG2E property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS40L1MxNS44LjEuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5MT0cyRSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLkxPRzJFID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLkxPRzJFID09PSB0cnVlXCcnKTsKfQoKCg==","commentary":"Value Property LOG2E of the Math Object has the attribute DontDelete","description":"Checking if Math.LOG2E property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cyRSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNC9TMTUuOC4xLjRfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE9HMkUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE1hdGguTE9HMkU7Ck1hdGguTE9HMkUgPSAxOwppZiAoTWF0aC5MT0cyRSAhPT0geCkgewogICRFUlJPUignIzE6IE1hdGguTE9HMkUgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5MT0cyRTtNYXRoLkxPRzJFID0gMTtNYXRoLkxPRzJFID09PSB4XCcnKTsKfQoK","commentary":"Value Property LOG2E of the Math Object has the attribute ReadOnly","description":"Checking if Math.LOG2E property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.4/S15.8.1.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLkxPRzEwRSBpcyBhcHByb3hpbWF0ZWx5IDAuNDM0Mjk0NDgxOTAzMjUxOAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS41L1MxNS44LjEuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyaW5nIE1hdGguTE9HMTBFIHdpdGggMC40MzQyOTQ0ODE5MDMyNTE4CiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKaWYgKCFpc0VxdWFsKE1hdGguTE9HMTBFLCAwLjQzNDI5NDQ4MTkwMzI1MTgpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLkxPRzEwRSBpcyBub3QgYXBwcm94aW1hdGxleSBlcXVhbCB0byAgMC40MzQyOTQ0ODE5MDMyNTE4XCcnKTsKfQoK","commentary":"Math.LOG10E is approximately 0.4342944819032518","description":"Comparing Math.LOG10E with 0.4342944819032518","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjUvUzE1LjguMS41X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxPRzEwRSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKi8KCi8vIENIRUNLIzEKZm9yKHggaW4gTWF0aCkgewogIGlmKHggPT09ICJMT0cxMEUiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnRFbnVtOiBcJ2Zvcih4IGluIE1hdGgpIHt4PT09IkxPRzEwRSJ9XCcnKTsKICB9Cn0KCgo=","commentary":"Value Property LOG10E of the Math Object has the attribute DontEnum","description":"Checking if Math.LOG10E property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNS9TMTUuOC4xLjVfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguTE9HMTBFIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoZGVsZXRlIE1hdGguTE9HMTBFID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhc25cJ3QgYXR0cmlidXRlIERvbnREZWxldGU6IFwnTWF0aC5MT0cxMEUgPT09IHRydWVcJycpOwp9CgoK","commentary":"Value Property LOG10E of the Math Object has the attribute DontDelete","description":"Checking if Math.LOG10E property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBMT0cxMEUgb2YgdGhlIE1hdGggT2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjUvUzE1LjguMS41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLkxPRzEwRSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCnZhciB4ID0gTWF0aC5MT0cxMEU7Ck1hdGguTE9HMTBFID0gMTsKaWYgKE1hdGguTE9HMTBFICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogTWF0aC5MT0cxMEUgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5MT0cxMEU7TWF0aC5MT0cxMEUgPSAxO01hdGguTE9HMTBFID09PSB4XCcnKTsKfQoK","commentary":"Value Property LOG10E of the Math Object has the attribute ReadOnly","description":"Checking if Math.LOG10E property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.5/S15.8.1.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLlBJIGlzIGFwcHJveGltYXRlbHkgMy4xNDE1OTI2NTM1ODk3OTMyCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjYvUzE1LjguMS42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJpbmcgTWF0aC5QSSB3aXRoIDMuMTQxNTkyNjUzNTg5NzkzMgogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChNYXRoLlBJLCAzLjE0MTU5MjY1MzU4OTc5MzIpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLlBJIGlzIG5vdCBhcHByb3hpbWF0bGV5IGVxdWFsIHRvIDMuMTQxNTkyNjUzNTg5NzkzMlwnJyk7Cn0KCgo=","commentary":"Math.PI is approximately 3.1415926535897932","description":"Comparing Math.PI with 3.1415926535897932","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNi9TMTUuOC4xLjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguUEkgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICovCgovLyBDSEVDSyMxCmZvcih4IGluIE1hdGgpIHsKICBpZih4ID09PSAiUEkiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udEVudW06IFwnZm9yKHggaW4gTWF0aCkge3g9PT0iUEkifVwnJyk7CiAgfQp9CgoK","commentary":"Value Property PI of the Math Object has the attribute DontEnum","description":"Checking if Math.PI property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS42L1MxNS44LjEuNl9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5QSSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLlBJID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLlBJID09PSB0cnVlXCcnKTsKfQoKCg==","commentary":"Value Property PI of the Math Object has the attribute DontDelete","description":"Checking if Math.PI property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBQSSBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNi9TMTUuOC4xLjZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguUEkgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE1hdGguUEk7Ck1hdGguUEkgPSAxOwppZiAoTWF0aC5QSSAhPT0geCkgewogICRFUlJPUignIzE6IE1hdGguUEkgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5QSTtNYXRoLlBJID0gMTtNYXRoLlBJID09PSB4XCcnKTsKfQoK","commentary":"Value Property PI of the Math Object has the attribute ReadOnly","description":"Checking if Math.PI property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.6/S15.8.1.6_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLlNRUlQxXzIgaXMgYXBwcm94aW1hdGVseSAwLjcwNzEwNjc4MTE4NjU0NzYKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuNy9TMTUuOC4xLjdfQTEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmluZyBNYXRoLlNRUlQxXzIgd2l0aCAwLjcwNzEwNjc4MTE4NjU0NzYKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQppZiAoIWlzRXF1YWwoTWF0aC5TUVJUMV8yLCAwLjcwNzEwNjc4MTE4NjU0NzYpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLlNRUlQxXzIgaXMgbm90IGFwcHJveGltYXRsZXkgZXF1YWwgdG8gIDAuNzA3MTA2NzgxMTg2NTQ3NlwnJyk7Cn0KCgo=","commentary":"Math.SQRT1_2 is approximately 0.7071067811865476","description":"Comparing Math.SQRT1_2 with 0.7071067811865476","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS43L1MxNS44LjEuN19BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5TUVJUMV8yIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqLwoKLy8gQ0hFQ0sjMQpmb3IoeCBpbiBNYXRoKSB7CiAgaWYoeCA9PT0gIlNRUlQxXzIiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXNuXCd0IGF0dHJpYnV0ZSBEb250RW51bTogXCdmb3IoeCBpbiBNYXRoKSB7eD09PSJTUVJUMV8yIn1cJycpOwogIH0KfQoKCg==","commentary":"Value Property SQRT1_2 of the Math Object has the attribute DontEnum","description":"Checking if Math.SQRT1_2 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjcvUzE1LjguMS43X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLlNRUlQxXzIgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTWF0aC5TUVJUMV8yID09PSB0cnVlKSB7CiAgJEVSUk9SKCIjMTogVmFsdWUgUHJvcGVydHkgU1FSVDFfMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzbid0IGF0dHJpYnV0ZSBEb250RGVsZXRlOiAnTWF0aC5TUVJUMV8yID09PSB0cnVlJyIpOwp9CgoK","commentary":"Value Property SQRT1_2 of the Math Object has the attribute DontDelete","description":"Checking if Math.SQRT1_2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMV8yIG9mIHRoZSBNYXRoIE9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS43L1MxNS44LjEuN19BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5TUVJUMV8yIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBNYXRoLlNRUlQxXzI7Ck1hdGguU1FSVDFfMiA9IDE7CmlmIChNYXRoLlNRUlQxXzIgIT09IHgpIHsKICAkRVJST1IoJyMxOiBNYXRoLlNRUlQxXzIgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5TUVJUMV8yO01hdGguU1FSVDFfMiA9IDE7TWF0aC5TUVJUMV8yID09PSB4XCcnKTsKfQoK","commentary":"Value Property SQRT1_2 of the Math Object has the attribute ReadOnly","description":"Checking if Math.SQRT1_2 property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.7/S15.8.1.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLlNRUlQyIGlzIGFwcHJveGltYXRlbHkgMS40MTQyMTM1NjIzNzMwOTUxCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjEvMTUuOC4xLjgvUzE1LjguMS44X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJpbmcgTWF0aC5TUVJUMiB3aXRoIDEuNDE0MjEzNTYyMzczMDk1MQogKi8KCiRJTkNMVURFKCJtYXRoX3ByZWNpc2lvbi5qcyIpOwokSU5DTFVERSgibWF0aF9pc2VxdWFsLmpzIik7CgovLyBDSEVDSyMxCmlmICghaXNFcXVhbChNYXRoLlNRUlQyLCAxLjQxNDIxMzU2MjM3MzA5NTEpKSB7CiAgJEVSUk9SKCcjMTogXCdNYXRoLlNRUlQyIGlzIG5vdCBhcHByb3hpbWF0bGV5IGVxdWFsIHRvIDEuNDE0MjEzNTYyMzczMDk1MVwnJyk7Cn0KCgo=","commentary":"Math.SQRT2 is approximately 1.4142135623730951","description":"Comparing Math.SQRT2 with 1.4142135623730951","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuOC9TMTUuOC4xLjhfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguU1FSVDIgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICovCgovLyBDSEVDSyMxCmZvcih4IGluIE1hdGgpIHsKICBpZih4ID09PSAiU1FSVDIiKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udEVudW06IFwnZm9yKHggaW4gTWF0aCkge3g9PT0iU1FSVDIifVwnJyk7CiAgfQp9CgoK","commentary":"Value Property SQRT2 of the Math Object has the attribute DontEnum","description":"Checking if Math.SQRT2 property has the attribute DontEnum","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4xLzE1LjguMS44L1MxNS44LjEuOF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5TUVJUMiBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLlNRUlQyID09PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxOiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzblwndCBhdHRyaWJ1dGUgRG9udERlbGV0ZTogXCdNYXRoLlNRUlQyID09PSB0cnVlXCcnKTsKfQoKCg==","commentary":"Value Property SQRT2 of the Math Object has the attribute DontDelete","description":"Checking if Math.SQRT2 property has the attribute DontDelete","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZSBQcm9wZXJ0eSBTUVJUMiBvZiB0aGUgTWF0aCBPYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMS8xNS44LjEuOC9TMTUuOC4xLjhfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguU1FSVDIgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICogQG5vU3RyaWN0CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE1hdGguU1FSVDI7Ck1hdGguU1FSVDIgPSAxOwppZiAoTWF0aC5TUVJUMiAhPT0geCkgewogICRFUlJPUignIzE6IE1hdGguU1FSVDIgaGFzblwndCBSZWFkT25seTogXCd4ID0gTWF0aC5TUVJUMjtNYXRoLlNRUlQyID0gMTtNYXRoLlNRUlQyID09PSB4XCcnKTsKfQoK","commentary":"Value Property SQRT2 of the Math Object has the attribute ReadOnly","description":"Checking if Math.SQRT2 property has the attribute ReadOnly","noStrict":"","path":"TestCases/ch15/15.8/15.8.1/15.8.1.8/S15.8.1.8_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5hYnMoeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEvUzE1LjguMi4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFicyhOYU4pIGlzIE5hTgogKi8KCi8vIENIRUNLIzEKdmFyIHggPSBOYU47CmlmICghaXNOYU4oTWF0aC5hYnMoeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9TmFOOyBpc05hTihNYXRoLmFicyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.abs(x) is NaN","description":"Checking if Math.abs(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLmFicyh4KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xL1MxNS44LjIuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5hYnMoLTApIGVxdWFscyB0byArMAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAtMDsKaWYgKE1hdGguYWJzKHgpICE9PSArMCkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS0wOyBNYXRoLmFicyh4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is -0, Math.abs(x) is +0","description":"Checking if Math.abs(-0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5hYnMoeCkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEvUzE1LjguMi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmFicygtSW5maW5pdHkpIGVxdWFscyB0byArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCnZhciB4ID0gLUluZmluaXR5OwppZiAoTWF0aC5hYnMoeCkgIT09ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS1JbmZpbml0eTsgTWF0aC5hYnMoeCkgIT09ICtJbmZpbml0eSciKTsKfQoK","commentary":"If x is -Infinity, Math.abs(x) is +Infinity","description":"Checking if Math.abs(-Infinity) equals to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.1/S15.8.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5sb2coeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEwL1MxNS44LjIuMTBfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubG9nKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLmxvZyh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD1OYU47IGlzTmFOKE1hdGgubG9nKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is NaN, Math.log(x) is NaN","description":"Checking if Math.log(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiAwLCBNYXRoLmxvZyh4KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTAvUzE1LjguMi4xMF9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5sb2coeCkgaXMgTmFOLCB3aGVyZSB4IGlzIGxlc3MgdGhhbiAwCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKaWYgKCFpc05hTihNYXRoLmxvZyh4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0tMC4wMDAwMDAwMDAwMDAwMDE7IGlzTmFOKE1hdGgubG9nKHgpKSA9PT0gZmFsc2UnIik7Cn0KCi8vIENIRUNLIzIKeCA9IC0xOwppZiAoIWlzTmFOKE1hdGgubG9nKHgpKSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS0xOyBpc05hTihNYXRoLmxvZyh4KSkgPT09IGZhbHNlJyIpOwp9CgovLyBDSEVDSyMzCnggPSAtSW5maW5pdHk7CmlmICghaXNOYU4oTWF0aC5sb2coeCkpKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9LUluZmluaXR5OyBpc05hTihNYXRoLmxvZyh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is less than 0, Math.log(x) is NaN","description":"Checking if Math.log(x) is NaN, where x is less than 0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswIG9yIC0wLCBNYXRoLmxvZyh4KSBpcyAtSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTAvUzE1LjguMi4xMF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5sb2coKzApIGFuZCBNYXRoLmxvZygtMCkgZXF1YWxzIHRvIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArMDsKaWYgKE1hdGgubG9nKHgpICE9PSAtSW5maW5pdHkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0rMDsgTWF0aC5sb2coeCkgIT09IC1JbmZpbml0eSciKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgeCA9IC0wOwppZiAoTWF0aC5sb2coeCkgIT09IC1JbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS0wOyBNYXRoLmxvZyh4KSAhPT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +0 or -0, Math.log(x) is -Infinity","description":"Checking if Math.log(+0) and Math.log(-0) equals to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIDEsIE1hdGgubG9nKHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEwL1MxNS44LjIuMTBfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubG9nKDEpIGVxdWFscyB0byArMAogKi8KCi8vIENIRUNLIzEKdmFyIHggPSAxOwppZiAoTWF0aC5sb2coeCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAndmFyIHg9MTsgTWF0aC5sb2coeCkgIT09ICswJyIpOwp9Cgo=","commentary":"If x is 1, Math.log(x) is +0","description":"Checking if Math.log(1) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5sb2coeCkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEwL1MxNS44LjIuMTBfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubG9nKCtJbmZpbml0eSkgZXF1YWxzIHRvICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKdmFyIHggPSArSW5maW5pdHk7CmlmIChNYXRoLmxvZyh4KSAhPT0gK0luZmluaXR5KQp7CgkkRVJST1IoIiMxOiAndmFyIHg9K0luZmluaXR5OyBNYXRoLmxvZyh4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.log(x) is +Infinity","description":"Checking if Math.log(+Infinity) equals to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLmxvZywgcmVjb21tZW5kZWQgdGhhdCBpbXBsZW1lbnRhdGlvbnMgdXNlIHRoZSBhcHByb3hpbWF0aW9uIGFsZ29yaXRobXMgZm9yIElFRUUgNzU0IGFyaXRobWV0aWMgY29udGFpbmVkIGluIGZkbGlibQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMC9TMTUuOC4yLjEwX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLmxvZyBpcyBhcHByb3hpbWF0ZWx5IGVxdWFscyB0byBpdHMgbWF0aGVtYXRpY2FsIHZhbHVlcyBvbiB0aGUgc2V0IG9mIDY0IGFyZ3VtZW50IHZhbHVlczsgYWxsIHRoZSBzYW1wbGUgdmFsdWVzIGlzIGNhbGN1bGF0ZWQgd2l0aCBMaWJDCiAqLwoKJElOQ0xVREUoIm1hdGhfcHJlY2lzaW9uLmpzIik7CiRJTkNMVURFKCJtYXRoX2lzZXF1YWwuanMiKTsKCi8vIENIRUNLIzEKdm51bSA9IDY0Owp2YXIgeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeFsxXSA9IDAuMjUzOTY4MjUzOTY4MjUzOTUwMDA7CnhbMl0gPSAwLjUwNzkzNjUwNzkzNjUwNzkxMDAwOwp4WzNdID0gMC43NjE5MDQ3NjE5MDQ3NjE4NjAwMDsKeFs0XSA9IDEuMDE1ODczMDE1ODczMDE1ODAwMDA7CnhbNV0gPSAxLjI2OTg0MTI2OTg0MTI2OTgwMDAwOwp4WzZdID0gMS41MjM4MDk1MjM4MDk1MjM3MDAwMDsKeFs3XSA9IDEuNzc3Nzc3Nzc3Nzc3Nzc3NzAwMDA7CnhbOF0gPSAyLjAzMTc0NjAzMTc0NjAzMTYwMDAwOwp4WzldID0gMi4yODU3MTQyODU3MTQyODU2MDAwMDsKeFsxMF0gPSAyLjUzOTY4MjUzOTY4MjUzOTUwMDAwOwp4WzExXSA9IDIuNzkzNjUwNzkzNjUwNzkzNTAwMDA7CnhbMTJdID0gMy4wNDc2MTkwNDc2MTkwNDc0MDAwMDsKeFsxM10gPSAzLjMwMTU4NzMwMTU4NzMwMTQwMDAwOwp4WzE0XSA9IDMuNTU1NTU1NTU1NTU1NTU1NDAwMDA7CnhbMTVdID0gMy44MDk1MjM4MDk1MjM4MDkzMDAwMDsKeFsxNl0gPSA0LjA2MzQ5MjA2MzQ5MjA2MzMwMDAwOwp4WzE3XSA9IDQuMzE3NDYwMzE3NDYwMzE3MjAwMDA7CnhbMThdID0gNC41NzE0Mjg1NzE0Mjg1NzEyMDAwMDsKeFsxOV0gPSA0LjgyNTM5NjgyNTM5NjgyNTEwMDAwOwp4WzIwXSA9IDUuMDc5MzY1MDc5MzY1MDc5MTAwMDA7CnhbMjFdID0gNS4zMzMzMzMzMzMzMzMzMzMwMDAwMDsKeFsyMl0gPSA1LjU4NzMwMTU4NzMwMTU4NzAwMDAwOwp4WzIzXSA9IDUuODQxMjY5ODQxMjY5ODQwOTAwMDA7CnhbMjRdID0gNi4wOTUyMzgwOTUyMzgwOTQ5MDAwMDsKeFsyNV0gPSA2LjM0OTIwNjM0OTIwNjM0ODkwMDAwOwp4WzI2XSA9IDYuNjAzMTc0NjAzMTc0NjAyODAwMDA7CnhbMjddID0gNi44NTcxNDI4NTcxNDI4NTY4MDAwMDsKeFsyOF0gPSA3LjExMTExMTExMTExMTExMDcwMDAwOwp4WzI5XSA9IDcuMzY1MDc5MzY1MDc5MzY0NzAwMDA7CnhbMzBdID0gNy42MTkwNDc2MTkwNDc2MTg2MDAwMDsKeFszMV0gPSA3Ljg3MzAxNTg3MzAxNTg3MjYwMDAwOwp4WzMyXSA9IDguMTI2OTg0MTI2OTg0MTI2NTAwMDA7CnhbMzNdID0gOC4zODA5NTIzODA5NTIzODE0MDAwMDsKeFszNF0gPSA4LjYzNDkyMDYzNDkyMDYzNDQwMDAwOwp4WzM1XSA9IDguODg4ODg4ODg4ODg4ODg5MzAwMDA7CnhbMzZdID0gOS4xNDI4NTcxNDI4NTcxNDIzMDAwMDsKeFszN10gPSA5LjM5NjgyNTM5NjgyNTM5NzIwMDAwOwp4WzM4XSA9IDkuNjUwNzkzNjUwNzkzNjUwMzAwMDA7CnhbMzldID0gOS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeFs0MF0gPSAxMC4xNTg3MzAxNTg3MzAxNTgwMDAwMDsKeFs0MV0gPSAxMC40MTI2OTg0MTI2OTg0MTMwMDAwMDsKeFs0Ml0gPSAxMC42NjY2NjY2NjY2NjY2NjYwMDAwMDsKeFs0M10gPSAxMC45MjA2MzQ5MjA2MzQ5MjEwMDAwMDsKeFs0NF0gPSAxMS4xNzQ2MDMxNzQ2MDMxNzQwMDAwMDsKeFs0NV0gPSAxMS40Mjg1NzE0Mjg1NzE0MjkwMDAwMDsKeFs0Nl0gPSAxMS42ODI1Mzk2ODI1Mzk2ODIwMDAwMDsKeFs0N10gPSAxMS45MzY1MDc5MzY1MDc5MzcwMDAwMDsKeFs0OF0gPSAxMi4xOTA0NzYxOTA0NzYxOTAwMDAwMDsKeFs0OV0gPSAxMi40NDQ0NDQ0NDQ0NDQ0NDUwMDAwMDsKeFs1MF0gPSAxMi42OTg0MTI2OTg0MTI2OTgwMDAwMDsKeFs1MV0gPSAxMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeFs1Ml0gPSAxMy4yMDYzNDkyMDYzNDkyMDYwMDAwMDsKeFs1M10gPSAxMy40NjAzMTc0NjAzMTc0NjAwMDAwMDsKeFs1NF0gPSAxMy43MTQyODU3MTQyODU3MTQwMDAwMDsKeFs1NV0gPSAxMy45NjgyNTM5NjgyNTM5NjgwMDAwMDsKeFs1Nl0gPSAxNC4yMjIyMjIyMjIyMjIyMjEwMDAwMDsKeFs1N10gPSAxNC40NzYxOTA0NzYxOTA0NzYwMDAwMDsKeFs1OF0gPSAxNC43MzAxNTg3MzAxNTg3MjkwMDAwMDsKeFs1OV0gPSAxNC45ODQxMjY5ODQxMjY5ODQwMDAwMDsKeFs2MF0gPSAxNS4yMzgwOTUyMzgwOTUyMzcwMDAwMDsKeFs2MV0gPSAxNS40OTIwNjM0OTIwNjM0OTIwMDAwMDsKeFs2Ml0gPSAxNS43NDYwMzE3NDYwMzE3NDUwMDAwMDsKeFs2M10gPSAxNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgoKdmFyIHkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xLjM3MDU0NjAwNDE1MTc1MTQwMDAwOwp5WzJdID0gLTAuNjc3Mzk4ODIzNTkxODA2MTQwMDA7CnlbM10gPSAtMC4yNzE5MzM3MTU0ODM2NDE4MTAwMDsKeVs0XSA9IDAuMDE1NzQ4MzU2OTY4MTM5MTEyMDA7CnlbNV0gPSAwLjIzODg5MTkwODI4MjM0ODg4MDAwOwp5WzZdID0gMC40MjEyMTM0NjUwNzYzMDM0NzAwMDsKeVs3XSA9IDAuNTc1MzY0MTQ0OTAzNTYxODAwMDA7CnlbOF0gPSAwLjcwODg5NTUzNzUyODA4NDQzMDAwOwp5WzldID0gMC44MjY2Nzg1NzMxODQ0Njc5MTAwMDsKeVsxMF0gPSAwLjkzMjAzOTA4ODg0MjI5NDE0MDAwOwp5WzExXSA9IDEuMDI3MzQ5MjY4NjQ2NjE5MDAwMDA7CnlbMTJdID0gMS4xMTQzNjA2NDU2MzYyNDg3MDAwMDsKeVsxM10gPSAxLjE5NDQwMzM1MzMwOTc4NTMwMDAwOwp5WzE0XSA9IDEuMjY4NTExMzI1NDYzNTA3MjAwMDA7CnlbMTVdID0gMS4zMzc1MDQxOTY5NTA0NTg2MDAwMDsKeVsxNl0gPSAxLjQwMjA0MjcxODA4ODAyOTcwMDAwOwp5WzE3XSA9IDEuNDYyNjY3MzM5OTA0NDY0NTAwMDA7CnlbMThdID0gMS41MTk4MjU3NTM3NDQ0MTMxMDAwMDsKeVsxOV0gPSAxLjU3Mzg5Mjk3NTAxNDY4OTEwMDAwOwp5WzIwXSA9IDEuNjI1MTg2MjY5NDAyMjM5NDAwMDA7CnlbMjFdID0gMS42NzM5NzY0MzM1NzE2NzE2MDAwMDsKeVsyMl0gPSAxLjcyMDQ5NjQ0OTIwNjU2NDQwMDAwOwp5WzIzXSA9IDEuNzY0OTQ4MjExNzc3Mzk4MjAwMDA7CnlbMjRdID0gMS44MDc1MDc4MjYxOTYxOTQxMDAwMDsKeVsyNV0gPSAxLjg0ODMyOTgyMDcxNjQ0OTEwMDAwOwp5WzI2XSA9IDEuODg3NTUwNTMzODY5NzMwNTAwMDA7CnlbMjddID0gMS45MjUyOTA4NjE4NTI1Nzc1MDAwMDsKeVsyOF0gPSAxLjk2MTY1ODUwNjAyMzQ1MjQwMDAwOwp5WzI5XSA9IDEuOTk2NzQ5ODI1ODM0NzIyNTAwMDA7CnlbMzBdID0gMi4wMzA2NTEzNzc1MTA0MDQwMDAwMDsKeVszMV0gPSAyLjA2MzQ0MTIwMDMzMzM5NDgwMDAwOwp5WzMyXSA9IDIuMDk1MTg5ODk4NjQ3OTc1MTAwMDA7CnlbMzNdID0gMi4xMjU5NjE1NTczMTQ3Mjg4MDAwMDsKeVszNF0gPSAyLjE1NTgxNDUyMDQ2NDQwOTcwMDAwOwp5WzM1XSA9IDIuMTg0ODAyMDU3MzM3NjYyMTAwMDA7CnlbMzZdID0gMi4yMTI5NzI5MzQzMDQzNTg1MDAwMDsKeVszN10gPSAyLjI0MDM3MTkwODQ5MjQ3MjkwMDAwOwp5WzM4XSA9IDIuMjY3MDQwMTU1NTc0NjM0MjAwMDA7CnlbMzldID0gMi4yOTMwMTU2NDE5Nzc4OTQ5MDAwMDsKeVs0MF0gPSAyLjMxODMzMzQ0OTk2MjE4NDgwMDAwOwp5WzQxXSA9IDIuMzQzMDI2MDYyNTUyNTU2NTAwMDA7CnlbNDJdID0gMi4zNjcxMjM2MTQxMzE2MTcwMDAwMDsKeVs0M10gPSAyLjM5MDY1NDExMTU0MTgxMTAwMDAwOwp5WzQ0XSA9IDIuNDEzNjQzNjI5NzY2NTA5NjAwMDA7CnlbNDVdID0gMi40MzYxMTY0ODU2MTg1NjgyMDAwMDsKeVs0Nl0gPSAyLjQ1ODA5NTM5MjMzNzM0MzYwMDAwOwp5WzQ3XSA9IDIuNDc5NjAxNTk3NTU4MzA3MDAwMDA7CnlbNDhdID0gMi41MDA2NTUwMDY3NTYxMzkzMDAwMDsKeVs0OV0gPSAyLjUyMTI3NDI5Mzk1ODg3NTAwMDAwOwp5WzUwXSA9IDIuNTQxNDc3MDAxMjc2Mzk0NTAwMDA7CnlbNTFdID0gMi41NjEyNzk2Mjg1NzI1NzQzMDAwMDsKeVs1Ml0gPSAyLjU4MDY5NzcxNDQyOTY3NTcwMDAwOwp5WzUzXSA9IDIuNTk5NzQ1OTA5NDAwMzcwNTAwMDA7CnlbNTRdID0gMi42MTg0MzgwNDI0MTI1MjMxMDAwMDsKeVs1NV0gPSAyLjYzNjc4NzE4MTA4MDcxOTMwMDAwOwp5WzU2XSA9IDIuNjU0ODA1Njg2NTgzMzk3ODAwMDA7CnlbNTddID0gMi42NzI1MDUyNjM2ODI3OTg4MDAwMDsKeVs1OF0gPSAyLjY4OTg5NzAwNjM5NDY2NzcwMDAwOwp5WzU5XSA9IDIuNzA2OTkxNDM5NzUzOTY3ODAwMDA7CnlbNjBdID0gMi43MjM3OTg1NTgwNzAzNDkwMDAwMDsKeVs2MV0gPSAyLjc0MDMyNzg2MDAyMTU1OTkwMDAwOwp5WzYyXSA9IDIuNzU2NTg4MzgwODkzMzQwMjAwMDA7CnlbNjNdID0gMi43NzI1ODg3MjIyMzk3ODExMDAwMDsKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLmxvZyh4W2ldKTsKCWlmICghaXNFcXVhbCh2YWwsIHlbaV0pKQoJewoJCSRFUlJPUigiXG54ID0gIiArIHhbaV0gKyAiXG5saWJjLmxvZyh4KSA9ICIgKyB5W2ldICsgIlxuTWF0aC5sb2coeCkgPSAiICsgTWF0aC5sb2coeFtpXSkgKyAiXG5NYXRoLmFicyhsaWJjLmxvZyh4KSAtIE1hdGgubG9nKHgpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.log, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.log is approximately equals to its mathematical values on the set of 64 argument values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.10/S15.8.2.10_A6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjExLzE1LjguMi4xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gTWF0aC5tYXgoe30pIGlzIE5hTg0KICovDQoNCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgcmV0dXJuIGlzTmFOKE1hdGgubWF4KHt9KSk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Math.max({}) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/15.8.2.11-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCBNYXRoLm1heCgpIGlzIC1JbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMS9TMTUuOC4yLjExX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1heCgpIGVxdWFscyB0byAtSW5maW5pdHkKICovCgovLyBDSEVDSyMxCmlmIChNYXRoLm1heCgpICE9IC1JbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ01hdGgubWF4KCkgIT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If no arguments are given, Math.max() is -Infinity","description":"Checking if Math.max() equals to -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhbnkgdmFsdWUgaXMgTmFOLCB0aGUgcmVzdWx0IG9mIE1hdGgubWF4IGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMS9TMTUuOC4yLjExX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2NyaXB0IHRlc3RzIE1hdGgubWF4IGdpdmluZyAxLCAyIGFuZCAzIGFyZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24gd2hlcmUgYXQgbGVhc3Qgb25lIG9mIHRoZSBhcmd1bWVudHMgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQppZiAoIWlzTmFOKE1hdGgubWF4KE5hTikpKQp7CgkkRVJST1IoIiMxOiAnaXNOYU4oTWF0aC5tYXgoTmFOKSkgPT09IGZhbHNlIik7Cn0KCi8vIENIRUNLIzIKdmFscyA9IG5ldyBBcnJheSgpOwp2YWxzWzBdID0gLUluZmluaXR5Owp2YWxzWzFdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp2YWxzWzJdID0gLTA7CnZhbHNbM10gPSArMAp2YWxzWzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnZhbHNbNV0gPSArSW5maW5pdHk7CnZhbHNbNl0gPSBOYU47CnZhbG51bSA9IDc7CgphcmdzID0gbmV3IEFycmF5KCk7CmZvciAoaSA9IDA7IGkgPD0gMTsgaSsrKQp7CglhcmdzW2ldID0gTmFOOwoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWFyZ3NbMS1pXSA9IHZhbHNbal07CgkJaWYgKCFpc05hTihNYXRoLm1heChhcmdzWzBdLCBhcmdzWzFdKSkpCgkJewoJCQkkRVJST1IoIiMyOiAnaXNOYU4oTWF0aC5tYXgoIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIpKSA9PT0gZmFsc2UiKTsKCQl9CQoJfQp9CgovLyBDSEVDSyAjMwp2YXIgayA9IDE7CnZhciBsID0gMjsKZm9yIChpID0gMDsgaSA8PSAyOyBpKyspCnsKCWFyZ3NbaV0gPSBOYU47CglpZiAoaSA9PT0gMSkKCXsKCQlrID0gMDsKCX0gZWxzZSBpZiAoaSA9PT0gMikKCXsKCSAJbCA9IDE7CQoJfQoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWZvciAoamogPSAwOyBqaiA8IHZhbG51bTsgamorKykKCQl7CgkJCWFyZ3Nba10gPSB2YWxzW2pdOwoJCQlhcmdzW2xdID0gdmFsc1tqal07CgkJCWlmICghaXNOYU4oTWF0aC5tYXgoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSkpKQoJCQl7CgkJCQkkRVJST1IoIiMzOiAnaXNOYU4oTWF0aC5tYXgoIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIsICIgKyBhcmdzWzJdICsgIikpID09PSBmYWxzZSIpOwoJCQl9CQoJCX0KCX0KfQoK","commentary":"If any value is NaN, the result of Math.max is NaN","description":"The script tests Math.max giving 1, 2 and 3 arguments to the function where at least one of the arguments is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArMCBpcyBjb25zaWRlcmVkIHRvIGJlIGxhcmdlciB0aGFuIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjExL1MxNS44LjIuMTFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubWF4KC0wLCswKSBhbmQgTWF0aC5tYXgoKzAsLTApIGVxdWFscyB0byArMAogKi8KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KC0wLCArMCkgIT09ICswKQp7CgkkRVJST1IoIiMxOiAnTWF0aC5tYXgoLTAsICswKSAhPT0gKzAnIik7Cn0KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KCswLCAtMCkgIT09ICswKQp7CgkkRVJST1IoIiMyOiAnTWF0aC5tYXgoKzAsIC0wKSAhPT0gKzAnIik7Cn0KCg==","commentary":"+0 is considered to be larger than -0","description":"Checking if Math.max(-0,+0) and Math.max(+0,-0) equals to +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1heCBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMS9TMTUuOC4yLjExX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1heC5sZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBhbmQgZXF1YWxzIHRvIDIKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YgTWF0aC5tYXggIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IE1hdGgubWF4IG1ldGhvZCBpcyBub3QgZGVmaW5lZCcpOwp9CgovLyBDSEVDSyMyCmlmICh0eXBlb2YgTWF0aC5tYXgubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIE1hdGgubWF4IG1ldGhvZCBpcyB1bmRlZmluZWQnKTsKfQoKLy8gQ0hFQ0sjMwppZiAoTWF0aC5tYXgubGVuZ3RoICE9PSAyKSB7CgkkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1heCBtZXRob2QgaXMgbm90IDInKTsKfQoK","commentary":"The length property of the Math.max method is 2","description":"Checking if Math.max.length property is defined and equals to 2","path":"TestCases/ch15/15.8/15.8.2/15.8.2.11/S15.8.2.11_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMSBNaWNyb3NvZnQgQ29ycG9yYXRpb24gDQovKioNCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEyLzE1LjguMi4xMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gTWF0aC5taW4oe30pIGlzIE5hTg0KICovDQoNCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgcmV0dXJuIGlzTmFOKE1hdGgubWluKHt9KSk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Math.min({}) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/15.8.2.12-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCBNYXRoLm1pbigpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMi9TMTUuOC4yLjEyX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1pbigpIGVxdWFscyB0byArSW5maW5pdHkKICovCgovLyBDSEVDSyMxCmlmIChNYXRoLm1pbigpICE9ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ01hdGgubWluKCkgIT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If no arguments are given, Math.min() is +Infinity","description":"Checking if Math.min() equals to +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhbnkgdmFsdWUgaXMgTmFOLCB0aGUgcmVzdWx0IG9mIE1hdGgubWluIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMi9TMTUuOC4yLjEyX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc2NyaXB0IHRlc3RzIE1hdGgubWluIGdpdmluZyAxLCAyIGFuZCAzIGFyZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24gd2hlcmUgYXQgbGVhc3Qgb25lIG9mIHRoZSBhcmd1bWVudHMgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQppZiAoIWlzTmFOKE1hdGgubWluKE5hTikpKQp7CgkkRVJST1IoIiMxOiAnaXNOYU4oTWF0aC5taW4oTmFOKSkgPT09IGZhbHNlIik7Cn0KCi8vIENIRUNLIzIKdmFscyA9IG5ldyBBcnJheSgpOwp2YWxzWzBdID0gLUluZmluaXR5Owp2YWxzWzFdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp2YWxzWzJdID0gLTA7CnZhbHNbM10gPSArMAp2YWxzWzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnZhbHNbNV0gPSArSW5maW5pdHk7CnZhbHNbNl0gPSBOYU47CnZhbG51bSA9IDc7CgphcmdzID0gbmV3IEFycmF5KCk7CmZvciAoaSA9IDA7IGkgPD0gMTsgaSsrKQp7CglhcmdzW2ldID0gTmFOOwoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWFyZ3NbMS1pXSA9IHZhbHNbal07CgkJaWYgKCFpc05hTihNYXRoLm1pbihhcmdzWzBdLCBhcmdzWzFdKSkpCgkJewoJCQkkRVJST1IoIiMyOiAnaXNOYU4oTWF0aC5taW4oIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIpKSA9PT0gZmFsc2UiKTsKCQl9CQoJfQp9CgovLyBDSEVDSyAjMwp2YXIgayA9IDE7CnZhciBsID0gMjsKZm9yIChpID0gMDsgaSA8PSAyOyBpKyspCnsKCWFyZ3NbaV0gPSBOYU47CglpZiAoaSA9PT0gMSkKCXsKCQlrID0gMDsKCX0gZWxzZSBpZiAoaSA9PT0gMikKCXsKCSAJbCA9IDE7CQoJfQoJZm9yIChqID0gMDsgaiA8IHZhbG51bTsgaisrKQoJewoJCWZvciAoamogPSAwOyBqaiA8IHZhbG51bTsgamorKykKCQl7CgkJCWFyZ3Nba10gPSB2YWxzW2pdOwoJCQlhcmdzW2xdID0gdmFsc1tqal07CgkJCWlmICghaXNOYU4oTWF0aC5taW4oYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSkpKQoJCQl7CgkJCQkkRVJST1IoIiMzOiAnaXNOYU4oTWF0aC5taW4oIiArIGFyZ3NbMF0gKyAiLCAiICsgYXJnc1sxXSArICIsICIgKyBhcmdzWzJdICsgIikpID09PSBmYWxzZSIpOwoJCQl9CQoJCX0KCX0KfQoK","commentary":"If any value is NaN, the result of Math.min is NaN","description":"The script tests Math.min giving 1, 2 and 3 arguments to the function where at least one of the arguments is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArMCBpcyBjb25zaWRlcmVkIHRvIGJlIGxhcmdlciB0aGFuIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEyL1MxNS44LjIuMTJfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgubWF4KC0wLCswKSBhbmQgTWF0aC5tYXgoKzAsLTApIGVxdWFscyB0byAtMAogKi8KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KC0wLCArMCkgIT09IC0wKQp7CgkkRVJST1IoIiMxOiAnTWF0aC5tYXgoLTAsICswKSAhPT0gLTAnIik7Cn0KCi8vIENIRUNLIzEKaWYgKE1hdGgubWF4KCswLCAtMCkgIT09IC0wKQp7CgkkRVJST1IoIiMyOiAnTWF0aC5tYXgoKzAsIC0wKSAhPT0gLTAnIik7Cn0KCg==","commentary":"+0 is considered to be larger than -0","description":"Checking if Math.max(-0,+0) and Math.max(+0,-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1pbiBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMi9TMTUuOC4yLjEyX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLm1pbi5sZW5ndGggcHJvcGVydHkgaXMgZGVmaW5lZCBhbmQgZXF1YWxzIHRvIDIKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YgTWF0aC5taW4gIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IE1hdGgubWluIG1ldGhvZCBpcyBub3QgZGVmaW5lZCcpOwp9CgovLyBDSEVDSyMyCmlmICh0eXBlb2YgTWF0aC5taW4ubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIE1hdGgubWluIG1ldGhvZCBpcyB1bmRlZmluZWQnKTsKfQoKLy8gQ0hFQ0sjMwppZiAoTWF0aC5taW4ubGVuZ3RoICE9PSAyKSB7CgkkRVJST1IoJyMzOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBNYXRoLm1pbiBtZXRob2QgaXMgbm90IDInKTsKfQoK","commentary":"The length property of the Math.min method is 2","description":"Checking if Math.min.length property is defined and equals to 2","path":"TestCases/ch15/15.8/15.8.2/15.8.2.12/S15.8.2.12_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIE5hTiwgTWF0aC5wb3coeCx5KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBpcyBOYU4sIHdoZXJlIHkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQoKeSA9IE5hTjsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLUluZmluaXR5Owp4WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnhbMl0gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnhbM10gPSAtMDsKeFs0XSA9ICswCnhbNV0gPSAwLjAwMDAwMDAwMDAwMDAwMTsKeFs2XSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnhbN10gPSArSW5maW5pdHk7CnhbOF0gPSBOYU47CnhudW0gPSA5OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKCFpc05hTihNYXRoLnBvdyh4W2ldLHkpKSkKCXsKCQkkRVJST1IoIiMxOiBpc05hTihNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikpID09PSBmYWxzZSIpOwoJfQp9Cgo=","commentary":"If y is NaN, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where y is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk8MSBhbmQgeSBpcyAtSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArSW5maW5pdHksIHdoZXJlIGFicyh4KTwxIGFuZCB5IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSAtSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IDAuOTk5OTk5OTk5OTk5OTk5Owp4WzFdID0gMC41Owp4WzJdID0gKzA7CnhbM10gPSAtMDsKeFs0XSA9IC0wLjU7CnhbNV0gPSAtMC45OTk5OTk5OTk5OTk5OTk7CnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGgucG93KHhbaV0seSkgIT09ICtJbmZpbml0eSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09ICtJbmZpbml0eSIpOwoJfQp9Cgo=","commentary":"If abs(x)<1 and y is -Infinity, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where abs(x)<1 and y is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeT4wLCBNYXRoLnBvdyh4LHkpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gK0luZmluaXR5LCB3aGVyZSB4IGlzICtJbmZpbml0eSBhbmQgeT4wCiAqLwoKLy8gQ0hFQ0sjMQoKeCA9ICtJbmZpbml0eTsKeSA9IG5ldyBBcnJheSgpOwp5WzNdID0gSW5maW5pdHk7CnlbMl0gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp5WzFdID0gMTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5bnVtID0gNDsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSArSW5maW5pdHkpCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSArSW5maW5pdHkiKTsKCX0KfQoK","commentary":"If x is +Infinity and y>0, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is +Infinity and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSBhbmQgeTwwLCBNYXRoLnBvdyh4LHkpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArMCwgd2hlcmUgeCBpcyArSW5maW5pdHkgYW5kIHk8MAogKi8KCi8vIENIRUNLIzEKCnggPSArSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp5WzJdID0gLTE7CnlbM10gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnludW0gPSA0OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If x is +Infinity and y<0, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is +Infinity and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeT4wIGFuZCB5IGlzIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzIC1JbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0ExMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gLUluZmluaXR5LCB3aGVyZSB4IGlzIC1JbmZpbml0eSBhbmQgeT4wCiAqLwoKLy8gQ0hFQ0sjMQoKeCA9IC1JbmZpbml0eTsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gMTsKeVsxXSA9IDExMTsKeVsyXSA9IDExMTExMTsKeW51bSA9IDM7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeCx5W2ldKSAhPT0gLUluZmluaXR5KQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gLUluZmluaXR5Iik7Cgl9Cn0KCg==","commentary":"If x is -Infinity and y>0 and y is an odd integer, Math.pow(x,y) is -Infinity","description":"Checking if Math.pow(x,y) equals to -Infinity, where x is -Infinity and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeT4wIGFuZCB5IGlzIE5PVCBhbiBvZGQgaW50ZWdlciwgTWF0aC5wb3coeCx5KSBpcyArSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvICtJbmZpbml0eSwgd2hlcmUgeCBpcyAtSW5maW5pdHkgYW5kIHk+MAogKi8KCi8vIENIRUNLIzEKCnggPSAtSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp5WzFdID0gMjsKeVsyXSA9IE1hdGguUEk7CnlbM10gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgZmluaXRlIG51bWJlcgp5WzRdID0gK0luZmluaXR5Owp5bnVtID0gNTsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSArSW5maW5pdHkpCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSArSW5maW5pdHkiKTsKCX0KfQoK","commentary":"If x is -Infinity and y>0 and y is NOT an odd integer, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is -Infinity and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeTwwIGFuZCB5IGlzIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTE1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byAtMCwgd2hlcmUgeCBpcyAtSW5maW5pdHkgYW5kIHk8MAogKi8KCi8vIENIRUNLIzEKCnggPSAtSW5maW5pdHk7CnkgPSBuZXcgQXJyYXkoKTsKeVsyXSA9IC0xOwp5WzFdID0gLTExMTsgCnlbMF0gPSAtMTExMTExOwp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSAtMCkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeCArICIsICIgKyB5W2ldICsgIikgIT09IC0wIik7Cgl9Cn0KCg==","commentary":"If x is -Infinity and y<0 and y is an odd integer, Math.pow(x,y) is -0","description":"Checking if Math.pow(x,y) equals to -0, where x is -Infinity and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSBhbmQgeTwwIGFuZCB5IGlzIE5PVCBhbiBvZGQgaW50ZWdlciwgTWF0aC5wb3coeCx5KSBpcyArMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0ExNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gKzAsIHdoZXJlIHggaXMgLUluZmluaXR5IGFuZCB5PDAKICovCgovLyBDSEVDSyMxCgp4ID0gLUluZmluaXR5Owp5ID0gbmV3IEFycmF5KCk7CnlbNF0gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnlbM10gPSAtMjsKeVsyXSA9IC1NYXRoLlBJOwp5WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnlbMF0gPSAtSW5maW5pdHk7CnludW0gPSA1OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If x is -Infinity and y<0 and y is NOT an odd integer, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is -Infinity and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswIGFuZCB5PjAsIE1hdGgucG93KHgseSkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvICswLCB3aGVyZSB4IGlzICswIGFuZCB5PjAKICovCgovLyBDSEVDSyMxCgp4ID0gKzA7CnkgPSBuZXcgQXJyYXkoKTsKeVszXSA9IEluZmluaXR5Owp5WzJdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeVsxXSA9IDE7CnlbMF0gPSAwLjAwMDAwMDAwMDAwMDAwMTsKeW51bSA9IDQ7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeCx5W2ldKSAhPT0gKzApCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSArMCIpOwoJfQp9Cgo=","commentary":"If x is +0 and y>0, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is +0 and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswIGFuZCB5PDAsIE1hdGgucG93KHgseSkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTE4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArSW5maW5pdHksIHdoZXJlIHggaXMgKzAgYW5kIHk8MAogKi8KCi8vIENIRUNLIzEKCnggPSArMDsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gLUluZmluaXR5Owp5WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnlbMl0gPSAtMTsKeVszXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeW51bSA9IDQ7Cgpmb3IgKGkgPSAwOyBpIDwgeW51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeCx5W2ldKSAhPT0gK0luZmluaXR5KQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gK0luZmluaXR5Iik7Cgl9Cn0KCg==","commentary":"If x is +0 and y<0, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is +0 and y<0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PjAgYW5kIHkgaXMgYW4gb2RkIGludGVnZXIsIE1hdGgucG93KHgseSkgaXMgLTAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvIC0wLCB3aGVyZSB4IGlzIC0wIGFuZCB5PjAKICovCgovLyBDSEVDSyMxCgp4ID0gLTA7CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IDE7CnlbMV0gPSAxMTE7CnlbMl0gPSAxMTExMTE7CnludW0gPSAzOwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09IC0wKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gLTAiKTsKCX0KfQoK","commentary":"If x is -0 and y>0 and y is an odd integer, Math.pow(x,y) is -0","description":"Checking if Math.pow(x,y) equals to -0, where x is -0 and y>0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzICswLCBNYXRoLnBvdyh4LHkpIGlzIDEsIGV2ZW4gaWYgeCBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gMSwgd2hlcmUgeSBpcyArMCBhbmQgeCBpcyBudW1iZXIgb3IgTmFOCiAqLwoKLy8gQ0hFQ0sjMQoKeSA9ICswOwp4ID0gbmV3IEFycmF5KCk7CnhbMF0gPSAtSW5maW5pdHk7CnhbMV0gPSAtMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IChieSBtb2R1bGUpIGZpbml0ZSBudW1iZXIKeFsyXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeFszXSA9IC0wOwp4WzRdID0gKzAKeFs1XSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp4WzZdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeFs3XSA9ICtJbmZpbml0eTsKeFs4XSA9IE5hTjsKeG51bSA9IDk7Cgpmb3IgKGkgPSAwOyBpIDwgeG51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeFtpXSx5KSAhPT0gMSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09IDEiKTsKCX0KfQoK","commentary":"If y is +0, Math.pow(x,y) is 1, even if x is NaN","description":"Checking if Math.pow(x,y) equals to 1, where y is +0 and x is number or NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PjAgYW5kIHkgaXMgTk9UIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTIwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byArMCwgd2hlcmUgeCBpcyAtMCBhbmQgeT4wIGFuZCB5IGlzIE5PVCBhbiBvZGQgaW50ZWdlcgogKi8KCi8vIENIRUNLIzEKCnggPSAtMDsKeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnlbMV0gPSAyOwp5WzJdID0gTWF0aC5QSTsKeVszXSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnlbNF0gPSArSW5maW5pdHk7CnludW0gPSA1OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4ICsgIiwgIiArIHlbaV0gKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If x is -0 and y>0 and y is NOT an odd integer, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where x is -0 and y>0 and y is NOT an odd integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PDAgYW5kIHkgaXMgYW4gb2RkIGludGVnZXIsIE1hdGgucG93KHgseSkgaXMgLUluZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTIxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGVxdWFscyB0byAtSW5maW5pdHksIHdoZXJlIHggaXMgLTAgYW5kIHkgaXMgYW4gb2RkIGludGVnZXIKICovCgovLyBDSEVDSyMxCgp4ID0gLTA7CnkgPSBuZXcgQXJyYXkoKTsKeVsyXSA9IC0xOwp5WzFdID0gLTExMTsgCnlbMF0gPSAtMTExMTExOwp5bnVtID0gMzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4LHlbaV0pICE9PSAtSW5maW5pdHkpCgl7CgkJJEVSUk9SKCIjMTogTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpICE9PSAtSW5maW5pdHkiKTsKCX0KfQoK","commentary":"If x is -0 and y<0 and y is an odd integer, Math.pow(x,y) is -Infinity","description":"Checking if Math.pow(x,y) equals to -Infinity, where x is -0 and y is an odd integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wIGFuZCB5PDAgYW5kIHkgaXMgTk9UIGFuIG9kZCBpbnRlZ2VyLCBNYXRoLnBvdyh4LHkpIGlzICtJbmZpbml0eQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0EyMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gK0luZmluaXR5LCB3aGVyZSB4IGlzIC0wIGFuZCB5PDAgYW5kIHkgaXMgTk9UIGFuIG9kZCBpbnRlZ2VyCiAqLwoKLy8gQ0hFQ0sjMQoKeCA9IC0wOwp5ID0gbmV3IEFycmF5KCk7CnlbNF0gPSAtMC4wMDAwMDAwMDAwMDAwMDE7CnlbM10gPSAtMjsKeVsyXSA9IC1NYXRoLlBJOwp5WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnlbMF0gPSAtSW5maW5pdHk7CnludW0gPSA1OwoKZm9yIChpID0gMDsgaSA8IHludW07IGkrKykKewoJaWYgKE1hdGgucG93KHgseVtpXSkgIT09ICtJbmZpbml0eSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeCArICIsICIgKyB5W2ldICsgIikgIT09ICtJbmZpbml0eSIpOwoJfQp9Cgo=","commentary":"If x is -0 and y<0 and y is NOT an odd integer, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where x is -0 and y<0 and y is NOT an odd integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4PDAgYW5kIHggaXMgZmluaXRlIGFuZCB5IGlzIGZpbml0ZSBhbmQgeSBpcyBub3QgYW4gaW50ZWdlciwgTWF0aC5wb3coeCx5KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgaXMgTmFOLCB3aGVyZSB4PDAgYW5kIHggaXMgZmluaXRlIGFuZCB5IGlzIGZpbml0ZSBhbmQgeSBpcyBub3QgYW4gaW50ZWdlcgogKi8KCi8vIENIRUNLIzEKCnkgPSBOYU47CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp4WzFdID0gLU1hdGguUEk7CnhbMl0gPSAtMTsKeFszXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeG51bSA9IDQ7Cgp5WzBdID0gLU1hdGguUEk7CnlbMV0gPSAtTWF0aC5FOwp5WzJdID0gLTEuMDAwMDAwMDAwMDAwMDAxOwp5WzNdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp5WzRdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnlbNV0gPSAxLjAwMDAwMDAwMDAwMDAwMTsKeVs2XSA9IE1hdGguRTsKeVs3XSA9IE1hdGguUEk7CnludW0gPSA4OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKCWZvciAoaiA9IDA7IGogPCB5bnVtOyBqKyspCgkJaWYgKCFpc05hTihNYXRoLnBvdyh4W2ldLHlbal0pKSkKCQkJJEVSUk9SKCIjMTogaXNOYU4oTWF0aC5wb3coIiArIHhbaV0gKyAiLCAiICsgeVtqXSArICIpKSA9PT0gZmFsc2UiKTsKCg==","commentary":"If x<0 and x is finite and y is finite and y is not an integer, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where x<0 and x is finite and y is finite and y is not an integer","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnBvdywgcmVjb21tZW5kZWQgdGhhdCBpbXBsZW1lbnRhdGlvbnMgdXNlIHRoZSBhcHByb3hpbWF0aW9uIGFsZ29yaXRobXMgZm9yIElFRUUgNzU0IGFyaXRobWV0aWMgY29udGFpbmVkIGluIGZkbGlibQogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0EyNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coYXJndW1lbnQxLCBhcmd1bWVudDIpIGlzIGFwcHJveGltYXRlbHkgZXF1YWxzIHRvIGl0cyBtYXRoZW1hdGljYWwgdmFsdWUgb24gdGhlIHNldCBvZiA2NCBhcmd1bWVudDEgdmFsdWVzIGFuZCA2NCBhcmd1bWVudDIgdmFsdWVzOyBhbGwgdGhlIHNhbXBsZSB2YWx1ZXMgaXMgY2FsY3VsYXRlZCB3aXRoIExpYkMKICovCgokSU5DTFVERSgibWF0aF9wcmVjaXNpb24uanMiKTsKJElOQ0xVREUoIm1hdGhfaXNlcXVhbC5qcyIpOwoKLy8gQ0hFQ0sjMQp2bnVtID0gNjQ7CnZhciB4MSA9IG5ldyBBcnJheSgpOwp4MVswXSA9IDAuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CngxWzFdID0gMC4yNTM5NjgyNTM5NjgyNTM5NTAwMDsKeDFbMl0gPSAwLjUwNzkzNjUwNzkzNjUwNzkxMDAwOwp4MVszXSA9IDAuNzYxOTA0NzYxOTA0NzYxODYwMDA7CngxWzRdID0gMS4wMTU4NzMwMTU4NzMwMTU4MDAwMDsKeDFbNV0gPSAxLjI2OTg0MTI2OTg0MTI2OTgwMDAwOwp4MVs2XSA9IDEuNTIzODA5NTIzODA5NTIzNzAwMDA7CngxWzddID0gMS43Nzc3Nzc3Nzc3Nzc3Nzc3MDAwMDsKeDFbOF0gPSAyLjAzMTc0NjAzMTc0NjAzMTYwMDAwOwp4MVs5XSA9IDIuMjg1NzE0Mjg1NzE0Mjg1NjAwMDA7CngxWzEwXSA9IDIuNTM5NjgyNTM5NjgyNTM5NTAwMDA7CngxWzExXSA9IDIuNzkzNjUwNzkzNjUwNzkzNTAwMDA7CngxWzEyXSA9IDMuMDQ3NjE5MDQ3NjE5MDQ3NDAwMDA7CngxWzEzXSA9IDMuMzAxNTg3MzAxNTg3MzAxNDAwMDA7CngxWzE0XSA9IDMuNTU1NTU1NTU1NTU1NTU1NDAwMDA7CngxWzE1XSA9IDMuODA5NTIzODA5NTIzODA5MzAwMDA7CngxWzE2XSA9IDQuMDYzNDkyMDYzNDkyMDYzMzAwMDA7CngxWzE3XSA9IDQuMzE3NDYwMzE3NDYwMzE3MjAwMDA7CngxWzE4XSA9IDQuNTcxNDI4NTcxNDI4NTcxMjAwMDA7CngxWzE5XSA9IDQuODI1Mzk2ODI1Mzk2ODI1MTAwMDA7CngxWzIwXSA9IDUuMDc5MzY1MDc5MzY1MDc5MTAwMDA7CngxWzIxXSA9IDUuMzMzMzMzMzMzMzMzMzMzMDAwMDA7CngxWzIyXSA9IDUuNTg3MzAxNTg3MzAxNTg3MDAwMDA7CngxWzIzXSA9IDUuODQxMjY5ODQxMjY5ODQwOTAwMDA7CngxWzI0XSA9IDYuMDk1MjM4MDk1MjM4MDk0OTAwMDA7CngxWzI1XSA9IDYuMzQ5MjA2MzQ5MjA2MzQ4OTAwMDA7CngxWzI2XSA9IDYuNjAzMTc0NjAzMTc0NjAyODAwMDA7CngxWzI3XSA9IDYuODU3MTQyODU3MTQyODU2ODAwMDA7CngxWzI4XSA9IDcuMTExMTExMTExMTExMTEwNzAwMDA7CngxWzI5XSA9IDcuMzY1MDc5MzY1MDc5MzY0NzAwMDA7CngxWzMwXSA9IDcuNjE5MDQ3NjE5MDQ3NjE4NjAwMDA7CngxWzMxXSA9IDcuODczMDE1ODczMDE1ODcyNjAwMDA7CngxWzMyXSA9IDguMTI2OTg0MTI2OTg0MTI2NTAwMDA7CngxWzMzXSA9IDguMzgwOTUyMzgwOTUyMzgxNDAwMDA7CngxWzM0XSA9IDguNjM0OTIwNjM0OTIwNjM0NDAwMDA7CngxWzM1XSA9IDguODg4ODg4ODg4ODg4ODg5MzAwMDA7CngxWzM2XSA9IDkuMTQyODU3MTQyODU3MTQyMzAwMDA7CngxWzM3XSA9IDkuMzk2ODI1Mzk2ODI1Mzk3MjAwMDA7CngxWzM4XSA9IDkuNjUwNzkzNjUwNzkzNjUwMzAwMDA7CngxWzM5XSA9IDkuOTA0NzYxOTA0NzYxOTA1MTAwMDA7CngxWzQwXSA9IDEwLjE1ODczMDE1ODczMDE1ODAwMDAwOwp4MVs0MV0gPSAxMC40MTI2OTg0MTI2OTg0MTMwMDAwMDsKeDFbNDJdID0gMTAuNjY2NjY2NjY2NjY2NjY2MDAwMDA7CngxWzQzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4MVs0NF0gPSAxMS4xNzQ2MDMxNzQ2MDMxNzQwMDAwMDsKeDFbNDVdID0gMTEuNDI4NTcxNDI4NTcxNDI5MDAwMDA7CngxWzQ2XSA9IDExLjY4MjUzOTY4MjUzOTY4MjAwMDAwOwp4MVs0N10gPSAxMS45MzY1MDc5MzY1MDc5MzcwMDAwMDsKeDFbNDhdID0gMTIuMTkwNDc2MTkwNDc2MTkwMDAwMDA7CngxWzQ5XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0NTAwMDAwOwp4MVs1MF0gPSAxMi42OTg0MTI2OTg0MTI2OTgwMDAwMDsKeDFbNTFdID0gMTIuOTUyMzgwOTUyMzgwOTUzMDAwMDA7CngxWzUyXSA9IDEzLjIwNjM0OTIwNjM0OTIwNjAwMDAwOwp4MVs1M10gPSAxMy40NjAzMTc0NjAzMTc0NjAwMDAwMDsKeDFbNTRdID0gMTMuNzE0Mjg1NzE0Mjg1NzE0MDAwMDA7CngxWzU1XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4MVs1Nl0gPSAxNC4yMjIyMjIyMjIyMjIyMjEwMDAwMDsKeDFbNTddID0gMTQuNDc2MTkwNDc2MTkwNDc2MDAwMDA7CngxWzU4XSA9IDE0LjczMDE1ODczMDE1ODcyOTAwMDAwOwp4MVs1OV0gPSAxNC45ODQxMjY5ODQxMjY5ODQwMDAwMDsKeDFbNjBdID0gMTUuMjM4MDk1MjM4MDk1MjM3MDAwMDA7CngxWzYxXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MjAwMDAwOwp4MVs2Ml0gPSAxNS43NDYwMzE3NDYwMzE3NDUwMDAwMDsKeDFbNjNdID0gMTYuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CgoKCnZhciB4MiA9IG5ldyBBcnJheSgpOwp4MlswXSA9IC0xNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeDJbMV0gPSAtMTUuNDkyMDYzNDkyMDYzNDkyMDAwMDA7CngyWzJdID0gLTE0Ljk4NDEyNjk4NDEyNjk4NDAwMDAwOwp4MlszXSA9IC0xNC40NzYxOTA0NzYxOTA0NzYwMDAwMDsKeDJbNF0gPSAtMTMuOTY4MjUzOTY4MjUzOTY4MDAwMDA7CngyWzVdID0gLTEzLjQ2MDMxNzQ2MDMxNzQ2MDAwMDAwOwp4Mls2XSA9IC0xMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeDJbN10gPSAtMTIuNDQ0NDQ0NDQ0NDQ0NDQ1MDAwMDA7CngyWzhdID0gLTExLjkzNjUwNzkzNjUwNzkzNzAwMDAwOwp4Mls5XSA9IC0xMS40Mjg1NzE0Mjg1NzE0MjkwMDAwMDsKeDJbMTBdID0gLTEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4MlsxMV0gPSAtMTAuNDEyNjk4NDEyNjk4NDEzMDAwMDA7CngyWzEyXSA9IC05LjkwNDc2MTkwNDc2MTkwNTEwMDAwOwp4MlsxM10gPSAtOS4zOTY4MjUzOTY4MjUzOTcyMDAwMDsKeDJbMTRdID0gLTguODg4ODg4ODg4ODg4ODg5MzAwMDA7CngyWzE1XSA9IC04LjM4MDk1MjM4MDk1MjM4MTQwMDAwOwp4MlsxNl0gPSAtNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeDJbMTddID0gLTcuMzY1MDc5MzY1MDc5MzY1NjAwMDA7CngyWzE4XSA9IC02Ljg1NzE0Mjg1NzE0Mjg1NzcwMDAwOwp4MlsxOV0gPSAtNi4zNDkyMDYzNDkyMDYzNDk3MDAwMDsKeDJbMjBdID0gLTUuODQxMjY5ODQxMjY5ODQxODAwMDA7CngyWzIxXSA9IC01LjMzMzMzMzMzMzMzMzMzMzkwMDAwOwp4MlsyMl0gPSAtNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeDJbMjNdID0gLTQuMzE3NDYwMzE3NDYwMzE4MTAwMDA7CngyWzI0XSA9IC0zLjgwOTUyMzgwOTUyMzgxMDIwMDAwOwp4MlsyNV0gPSAtMy4zMDE1ODczMDE1ODczMDIzMDAwMDsKeDJbMjZdID0gLTIuNzkzNjUwNzkzNjUwNzk0NDAwMDA7CngyWzI3XSA9IC0yLjI4NTcxNDI4NTcxNDI4NjUwMDAwOwp4MlsyOF0gPSAtMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeDJbMjldID0gLTEuMjY5ODQxMjY5ODQxMjcwNzAwMDA7CngyWzMwXSA9IC0wLjc2MTkwNDc2MTkwNDc2Mjc1MDAwOwp4MlszMV0gPSAtMC4yNTM5NjgyNTM5NjgyNTQ4NDAwMDsKeDJbMzJdID0gMC4yNTM5NjgyNTM5NjgyNTMwNzAwMDsKeDJbMzNdID0gMC43NjE5MDQ3NjE5MDQ3NjI3NTAwMDsKeDJbMzRdID0gMS4yNjk4NDEyNjk4NDEyNjg5MDAwMDsKeDJbMzVdID0gMS43Nzc3Nzc3Nzc3Nzc3Nzg2MDAwMDsKeDJbMzZdID0gMi4yODU3MTQyODU3MTQyODQ3MDAwMDsKeDJbMzddID0gMi43OTM2NTA3OTM2NTA3OTQ0MDAwMDsKeDJbMzhdID0gMy4zMDE1ODczMDE1ODczMDA1MDAwMDsKeDJbMzldID0gMy44MDk1MjM4MDk1MjM4MTAyMDAwMDsKeDJbNDBdID0gNC4zMTc0NjAzMTc0NjAzMTYzMDAwMDsKeDJbNDFdID0gNC44MjUzOTY4MjUzOTY4MjYwMDAwMDsKeDJbNDJdID0gNS4zMzMzMzMzMzMzMzMzMzIxMDAwMDsKeDJbNDNdID0gNS44NDEyNjk4NDEyNjk4NDE4MDAwMDsKeDJbNDRdID0gNi4zNDkyMDYzNDkyMDYzNDgwMDAwMDsKeDJbNDVdID0gNi44NTcxNDI4NTcxNDI4NTc3MDAwMDsKeDJbNDZdID0gNy4zNjUwNzkzNjUwNzkzNjM4MDAwMDsKeDJbNDddID0gNy44NzMwMTU4NzMwMTU4NzM1MDAwMDsKeDJbNDhdID0gOC4zODA5NTIzODA5NTIzNzk2MDAwMDsKeDJbNDldID0gOC44ODg4ODg4ODg4ODg4ODkzMDAwMDsKeDJbNTBdID0gOS4zOTY4MjUzOTY4MjUzOTU0MDAwMDsKeDJbNTFdID0gOS45MDQ3NjE5MDQ3NjE5MDUxMDAwMDsKeDJbNTJdID0gMTAuNDEyNjk4NDEyNjk4NDExMDAwMDA7CngyWzUzXSA9IDEwLjkyMDYzNDkyMDYzNDkyMTAwMDAwOwp4Mls1NF0gPSAxMS40Mjg1NzE0Mjg1NzE0MjcwMDAwMDsKeDJbNTVdID0gMTEuOTM2NTA3OTM2NTA3OTM3MDAwMDA7CngyWzU2XSA9IDEyLjQ0NDQ0NDQ0NDQ0NDQ0MzAwMDAwOwp4Mls1N10gPSAxMi45NTIzODA5NTIzODA5NTMwMDAwMDsKeDJbNThdID0gMTMuNDYwMzE3NDYwMzE3NDU5MDAwMDA7CngyWzU5XSA9IDEzLjk2ODI1Mzk2ODI1Mzk2ODAwMDAwOwp4Mls2MF0gPSAxNC40NzYxOTA0NzYxOTA0NzQwMDAwMDsKeDJbNjFdID0gMTQuOTg0MTI2OTg0MTI2OTg0MDAwMDA7CngyWzYyXSA9IDE1LjQ5MjA2MzQ5MjA2MzQ5MDAwMDAwOwp4Mls2M10gPSAxNi4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKCgp2YXIgeSA9IG5ldyBBcnJheSgpOwp5WzBdID0gK0luZmluaXR5Owp5WzFdID0gMTY2NDE1ODk3OS4xMTA5NjI5MDAwMDAwMDAwMDAwMDsKeVsyXSA9IDI1NTk2Ljk4ODYyMjA2NDI0NzAwMDAwMDAwOwp5WzNdID0gNTEuMjQyMjQzNjAzMzIyMDU5MDAwMDA7CnlbNF0gPSAwLjgwMjUzNzIxNjIxMDAxMjczMDAwOwp5WzVdID0gMC4wNDAxMzI4MTYwNDE4NDI0MDYwMDsKeVs2XSA9IDAuMDA0MjcxODExNjc0NjY5NjgyNTA7CnlbN10gPSAwLjAwMDc3Njk4Njg0NjI5MzA3ODM5Owp5WzhdID0gMC4wMDAyMTE0MDQ0OTc1MTI4ODg1MjsKeVs5XSA9IDAuMDAwMDc4ODY2NDEyMTYyNzU4MjA7CnlbMTBdID0gMC4wMDAwMzc5Nzk3MDQ5NTYyNTkwNDsKeVsxMV0gPSAwLjAwMDAyMjYwMTg2NTc2OTQ0Mzg0Owp5WzEyXSA9IDAuMDAwMDE2MDg3MzU3MDQ2NzU5OTQ7CnlbMTNdID0gMC4wMDAwMTMzNTUyNjYzOTQ0MDg0MDsKeVsxNF0gPSAwLjAwMDAxMjY3NzgyNDA3ODI1MDAyOwp5WzE1XSA9IDAuMDAwMDEzNTQ0MTA3MzkzMDcyOTg7CnlbMTZdID0gMC4wMDAwMTYwNzQwNDcwMDA3NzIxNDsKeVsxN10gPSAwLjAwMDAyMDk2NDg5Nzk4OTQ5ODU4Owp5WzE4XSA9IDAuMDAwMDI5NzgwMzM0MTEzMTY4NzI7CnlbMTldID0gMC4wMDAwNDU3MjAxNTc2OTMyNjcwNzsKeVsyMF0gPSAwLjAwMDA3NTM2NjIwODg0ODk2ODI3Owp5WzIxXSA9IDAuMDAwMTMyNjM5Njc1NTg4ODI2ODc7CnlbMjJdID0gMC4wMDAyNDgwMDA5MTk1MDkxNzc5NjsKeVsyM10gPSAwLjAwMDQ5MDQ5NTc4NzcyMDUyNjgwOwp5WzI0XSA9IDAuMDAxMDIyMjU1MjEyMzg4ODU0OTA7CnlbMjVdID0gMC4wMDIyMzc0NDE0NzM1NjY2MTg4MDsKeVsyNl0gPSAwLjAwNTEyNzM5NzU1ODc4NTg3OTIwOwp5WzI3XSA9IDAuMDEyMjY5MTgwMzA3NTQ4NjMwMDA7CnlbMjhdID0gMC4wMzA1ODA0OTQ3NTQyNzQwOTQwMDsKeVsyOV0gPSAwLjA3OTIxNzcxNDcyNTY5OTY2MjAwOwp5WzMwXSA9IDAuMjEyODUwOTg2MDExNjc0NTcwMDA7CnlbMzFdID0gMC41OTIxMTg0NjIzMzg2MDMyMTAwMDsKeVszMl0gPSAxLjcwMjUyMzc2OTE5NDA3NzMwMDAwOwp5WzMzXSA9IDUuMDUxOTc5OTQxODYzNTA5MjAwMDA7CnlbMzRdID0gMTUuNDQ4OTY4NjY3NTg4Mjc3MDAwMDA7CnlbMzVdID0gNDguNjIyNzk5NDk4MTYxNDc3MDAwMDA7CnlbMzZdID0gMTU3LjMxMDg2MDMzMTM5MDM5MDAwMDAwOwp5WzM3XSA9IDUyMi42MDAyMTI3NzQ3Njc2NzAwMDAwMDsKeVszOF0gPSAxNzgwLjgyMzE2NzEzNDI2OTkwMDAwMDAwOwp5WzM5XSA9IDYyMTguNTg1MDk4NDYzMzc3MTAwMDAwMDA7CnlbNDBdID0gMjIyMzIuNTQ5MTY4OTgwMjU1MDAwMDAwMDA7CnlbNDFdID0gODEzMTAuNTA2OTU4MTQ4NDQyMDAwMDAwMDA7CnlbNDJdID0gMzAzOTYyLjM5NTk5OTk0OTE5MDAwMDAwMDAwOwp5WzQzXSA9IDExNjA2MDkuMzkxNTE4MzU4MTAwMDAwMDAwMDA7CnlbNDRdID0gNDUyMzE2MC4xNjM5NjE4MzUyMDAwMDAwMDAwMDsKeVs0NV0gPSAxNzk4MDUwNi41MzEwNTY4NjYwMDAwMDAwMDAwMDsKeVs0Nl0gPSA3Mjg2MTI2MC42MzE0MDA4NTMwMDAwMDAwMDAwMDsKeVs0N10gPSAzMDA3OTU5NjUuMTgzNzI4MDQwMDAwMDAwMDAwMDA7CnlbNDhdID0gMTI2NDQwODg0My44ODYzNjI2MDAwMDAwMDAwMDAwMDsKeVs0OV0gPSA1NDA4OTgzNzA1LjgyNTk1OTIwMDAwMDAwMDAwMDAwOwp5WzUwXSA9IDIzNTM2NDM4NDg1LjMyMzI0NjAwMDAwMDAwMDAwMDAwOwp5WzUxXSA9IDEwNDEyNTcyNDIwMS43Nzg4ODAwMDAwMDAwMDAwMDAwMDsKeVs1Ml0gPSA0NjgxMzcwNzk0MDkuMTc0NjIwMDAwMDAwMDAwMDAwMDA7CnlbNTNdID0gMjEzNzk2NTg2NTkxMy45MTI2MDAwMDAwMDAwMDAwMDAwMDsKeVs1NF0gPSA5OTE0MzY4NjQzODA4LjI1MjAwMDAwMDAwMDAwMDAwMDAwOwp5WzU1XSA9IDQ2NjY1NzI2OTk1MzE3Ljg5ODAwMDAwMDAwMDAwMDAwMDAwOwp5WzU2XSA9IDIyMjg2Mzc4NjQwOTAzOS44NzAwMDAwMDAwMDAwMDAwMDAwMDsKeVs1N10gPSAxMDc5NTM0NDQzNzAyMDY1LjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzU4XSA9IDUzMDIwMzc4NTAzMjk5NTIuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CnlbNTldID0gMjYzOTQ4MTMzMTM3NTEwODQuMDAwMDAwMDAwMDAwMDAwMDAwMDA7CnlbNjBdID0gMTMzMTQ2NTQzMjM1MDI0NzIwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzYxXSA9IDY4MDM3NTA4MjM1MTg4NTk1MC4wMDAwMDAwMDAwMDAwMDAwMDAwMDsKeVs2Ml0gPSAzNTIwODc4NTQyNDQ3ODIzOTAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwp5WzYzXSA9IDE4NDQ2NzQ0MDczNzA5NTUyMDAwLjAwMDAwMDAwMDAwMDAwMDAwMDAwOwoKCgp2YXIgdmFsOwpmb3IgKGkgPSAwOyBpIDwgdm51bTsgaSsrKQp7Cgl2YWwgPSBNYXRoLnBvdyh4MVtpXSwgeDJbaV0pOwoJaWYgKCFpc0VxdWFsKHZhbCwgeVtpXSkpCgl7CgkJJEVSUk9SKCJcbngxID0gIiArIHgxW2ldICsgIlxueDIgPSAiICsgeDJbaV0gKyAiXG5saWJjLnBvdyh4MSx4MikgPSAiICsgeVtpXSArICJcbk1hdGgucG93KHgxLHgyKSA9ICIgKyBNYXRoLnBvdyh4MVtpXSwgeDJbaV0pICsgIlxuTWF0aC5hYnMobGliYy5wb3coeDEseDIpIC0gTWF0aC5wb3coeDEseDIpKSA+ICIgKyBwcmVjICsgIlxuXG4iKTsgCgl9Cn0KCg==","commentary":"Math.pow, recommended that implementations use the approximation algorithms for IEEE 754 arithmetic contained in fdlibm","description":"Checking if Math.pow(argument1, argument2) is approximately equals to its mathematical value on the set of 64 argument1 values and 64 argument2 values; all the sample values is calculated with LibC","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB5IGlzIC0wLCBNYXRoLnBvdyh4LHkpIGlzIDEsIGV2ZW4gaWYgeCBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gMSwgd2hlcmUgeCBpcyBudW1iZXIgb3IgTmFOIGFuZCB5IGlzIC0wCiAqLwoKLy8gQ0hFQ0sjMQoKeSA9ICswOwp4ID0gbmV3IEFycmF5KCk7CnhbMF0gPSAtSW5maW5pdHk7CnhbMV0gPSAtMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IChieSBtb2R1bGUpIGZpbml0ZSBudW1iZXIKeFsyXSA9IC0wLjAwMDAwMDAwMDAwMDAwMTsKeFszXSA9IC0wOwp4WzRdID0gKzAKeFs1XSA9IDAuMDAwMDAwMDAwMDAwMDAxOwp4WzZdID0gMS43OTc2OTMxMzQ4NjIzMTU3RTMwODsgLy9sYXJnZXN0IGZpbml0ZSBudW1iZXIKeFs3XSA9ICtJbmZpbml0eTsKeFs4XSA9IE5hTjsKeG51bSA9IDk7Cgpmb3IgKGkgPSAwOyBpIDwgeG51bTsgaSsrKQp7CglpZiAoTWF0aC5wb3coeFtpXSx5KSAhPT0gMSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsIC0wKSAhPT0gMSIpOwoJfQp9Cgo=","commentary":"If y is -0, Math.pow(x,y) is 1, even if x is NaN","description":"Checking if Math.pow(x,y) equals to 1, where x is number or NaN and y is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiBhbmQgeSBpcyBub256ZXJvLCBNYXRoLnBvdyh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGlzIE5hTiwgd2hlcmUgeCBpcyBOYU4gYW5kIHkgaXMgbm9uemVybwogKi8KCi8vIENIRUNLIzEKCnggPSBOYU47CnkgPSBuZXcgQXJyYXkoKTsKeVswXSA9IC1JbmZpbml0eTsKeVsxXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp5WzJdID0gLTAuMDAwMDAwMDAwMDAwMDAxOwp5WzNdID0gMC4wMDAwMDAwMDAwMDAwMDE7CnlbNF0gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgZmluaXRlIG51bWJlcgp5WzVdID0gK0luZmluaXR5Owp5WzZdID0gTmFOOwp5bnVtID0gNzsKCmZvciAoaSA9IDA7IGkgPCB5bnVtOyBpKyspCnsKCWlmICghaXNOYU4oTWF0aC5wb3coeCx5W2ldKSkpCgl7CgkJJEVSUk9SKCIjMTogaXNOYU4oTWF0aC5wb3coIiArIHggKyAiLCAiICsgeVtpXSArICIpKSA9PT0gZmFsc2UiKTsKCX0KfQoK","commentary":"If x is NaN and y is nonzero, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where x is NaN and y is nonzero","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk+MSBhbmQgeSBpcyArSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgK0luZmluaXR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjEzL1MxNS44LjIuMTNfQTUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucG93KHgseSkgZXF1YWxzIHRvICtJbmZpbml0eSwgd2hlcmUgYWJzKHgpPjEgYW5kIHkgaXMgK0luZmluaXR5CiAqLwoKLy8gQ0hFQ0sjMQoKeSA9ICtJbmZpbml0eTsKeCA9IG5ldyBBcnJheSgpOwp4WzBdID0gLUluZmluaXR5Owp4WzFdID0gLTEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCAoYnkgbW9kdWxlKSBmaW5pdGUgbnVtYmVyCnhbMl0gPSAtMS4wMDAwMDAwMDAwMDAwMDE7CnhbM10gPSAxLjAwMDAwMDAwMDAwMDAwMTsKeFs0XSA9IDEuNzk3NjkzMTM0ODYyMzE1N0UzMDg7IC8vbGFyZ2VzdCBmaW5pdGUgbnVtYmVyCnhbNV0gPSArSW5maW5pdHk7CnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGgucG93KHhbaV0seSkgIT09ICtJbmZpbml0eSkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09ICtJbmZpbml0eSIpOwoJfQp9Cgo=","commentary":"If abs(x)>1 and y is +Infinity, Math.pow(x,y) is +Infinity","description":"Checking if Math.pow(x,y) equals to +Infinity, where abs(x)>1 and y is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk+MSBhbmQgeSBpcyAtSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gKzAsIHdoZXJlIGFicyh4KT4xIGFuZCB5IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSAtSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC1JbmZpbml0eTsKeFsxXSA9IC0xLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgKGJ5IG1vZHVsZSkgZmluaXRlIG51bWJlcgp4WzJdID0gLTEuMDAwMDAwMDAwMDAwMDAxOwp4WzNdID0gMS4wMDAwMDAwMDAwMDAwMDE7CnhbNF0gPSAxLjc5NzY5MzEzNDg2MjMxNTdFMzA4OyAvL2xhcmdlc3QgZmluaXRlIG51bWJlcgp4WzVdID0gK0luZmluaXR5Owp4bnVtID0gNjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmIChNYXRoLnBvdyh4W2ldLHkpICE9PSArMCkKCXsKCQkkRVJST1IoIiMxOiBNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikgIT09ICswIik7Cgl9Cn0KCg==","commentary":"If abs(x)>1 and y is -Infinity, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where abs(x)>1 and y is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk9PTEgYW5kIHkgaXMgK0luZmluaXR5LCBNYXRoLnBvdyh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGlzIE5hTiwgd2hlcmUgYWJzKHgpPT0xIGFuZCB5IGlzICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSArSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xOwp4WzFdID0gMQp4bnVtID0gMjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNOYU4oTWF0aC5wb3coeFtpXSx5KSkpCgl7CgkJJEZBSUwoIiMxOiBpc05hTihNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikpID09PSBmYWxzZSIpOwoJfQp9Cgo=","commentary":"If abs(x)==1 and y is +Infinity, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where abs(x)==1 and y is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk9PTEgYW5kIHkgaXMgLUluZmluaXR5LCBNYXRoLnBvdyh4LHkpIGlzIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xMy9TMTUuOC4yLjEzX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnBvdyh4LHkpIGlzIE5hTiwgd2hlcmUgYWJzKHgpPT0xIGFuZCB5IGlzIC1JbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSAtSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IC0xOwp4WzFdID0gMQp4bnVtID0gMjsKCmZvciAoaSA9IDA7IGkgPCB4bnVtOyBpKyspCnsKCWlmICghaXNOYU4oTWF0aC5wb3coeFtpXSx5KSkpCgl7CgkJJEZBSUwoIiMxOiBpc05hTihNYXRoLnBvdygiICsgeFtpXSArICIsICIgKyB5ICsgIikpID09PSBmYWxzZSIpOwoJfQp9Cgo=","commentary":"If abs(x)==1 and y is -Infinity, Math.pow(x,y) is NaN","description":"Checking if Math.pow(x,y) is NaN, where abs(x)==1 and y is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhYnMoeCk8MSBhbmQgeSBpcyArSW5maW5pdHksIE1hdGgucG93KHgseSkgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTMvUzE1LjguMi4xM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5wb3coeCx5KSBlcXVhbHMgdG8gKzAsIHdoZXJlIGFicyh4KTwxIGFuZCB5IGlzICtJbmZpbml0eQogKi8KCi8vIENIRUNLIzEKCnkgPSArSW5maW5pdHk7CnggPSBuZXcgQXJyYXkoKTsKeFswXSA9IDAuOTk5OTk5OTk5OTk5OTk5Owp4WzFdID0gMC41Owp4WzJdID0gKzA7CnhbM10gPSAtMDsKeFs0XSA9IC0wLjU7CnhbNV0gPSAtMC45OTk5OTk5OTk5OTk5OTk7CnhudW0gPSA2OwoKZm9yIChpID0gMDsgaSA8IHhudW07IGkrKykKewoJaWYgKE1hdGgucG93KHhbaV0seSkgIT09ICswKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucG93KCIgKyB4W2ldICsgIiwgIiArIHkgKyAiKSAhPT0gKzAiKTsKCX0KfQoK","commentary":"If abs(x)<1 and y is +Infinity, Math.pow(x,y) is +0","description":"Checking if Math.pow(x,y) equals to +0, where abs(x)<1 and y is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.13/S15.8.2.13_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNYXRoLnJhbmRvbSgpIHJldHVybnMgYSBudW1iZXIgdmFsdWUgd2l0aCBwb3NpdGl2ZSBzaWduLCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMCBidXQgbGVzcyB0aGFuIDEKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTQvUzE1LjguMi4xNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yYW5kb20oKSBpcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEsIGNhbGxpbmcgTWF0aC5yYW5kb20oKSAxMDAgdGltZXMKICovCgovLyBDSEVDSyMxCmZvciAoaSA9IDA7IGkgPCAxMDA7IGkrKykKewoJdmFsID0gTWF0aC5yYW5kb20oKTsKCWlmICh2YWwgPCAwIHx8IHZhbCA+PSAxKQoJewoJCSRFUlJPUigiIzE6IE1hdGgucmFuZG9tKCkgPSAiICsgdmFsKTsKCX0KfQoK","commentary":"Math.random() returns a number value with positive sign, greater than or equal to 0 but less than 1","description":"Checking if Math.random() is a number between 0 and 1, calling Math.random() 100 times","path":"TestCases/ch15/15.8/15.8.2/15.8.2.14/S15.8.2.14_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5yb3VuZCh4KSBpcyBOYU4KICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyBOYU4sIHdoZXJlIHggaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLnJvdW5kKHgpKSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PU5hTjsgaXNOYU4oTWF0aC5yb3VuZCh4KSkgPT09IGZhbHNlJyIpOwp9Cgo=","commentary":"If x is NaN, Math.round(x) is NaN","description":"Checking if Math.round(x) is NaN, where x is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICswLCBNYXRoLnJvdW5kKHgpIGlzICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE1L1MxNS44LjIuMTVfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucm91bmQoeCkgZXF1YWxzIHRvICswLCB3aGVyZSB4IGlzICswCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICswOwppZiAoTWF0aC5yb3VuZCh4KSAhPT0gKzApCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0rMDsgTWF0aC5yb3VuZCh4KSAhPT0gKzAnIik7Cn0KCg==","commentary":"If x is +0, Math.round(x) is +0","description":"Checking if Math.round(x) equals to +0, where x is +0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLnJvdW5kKHgpIGlzIC0wCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE1L1MxNS44LjIuMTVfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGgucm91bmQoeCkgZXF1YWxzIHRvIC0wLCB3aGVyZSB4IGlzIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5yb3VuZCh4KSAhPT0gLTApCnsKCSRFUlJPUigiIzE6ICd2YXIgeD0tMDsgTWF0aC5yb3VuZCh4KSAhPT0gLTAnIik7Cn0KCg==","commentary":"If x is -0, Math.round(x) is -0","description":"Checking if Math.round(x) equals to -0, where x is -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5yb3VuZCh4KSBpcyArSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyArSW5maW5pdHksIHdoZXJlIHggaXMgK0luZmluaXR5CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICtJbmZpbml0eTsKaWYgKE1hdGgucm91bmQoeCkgIT09ICtJbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PStJbmZpbml0eTsgTWF0aC5yb3VuZCh4KSAhPT0gK0luZmluaXR5JyIpOwp9Cgo=","commentary":"If x is +Infinity, Math.round(x) is +Infinity","description":"Checking if Math.round(x) is +Infinity, where x is +Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5yb3VuZCh4KSBpcyAtSW5maW5pdHkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyAtSW5maW5pdHksIHdoZXJlIHggaXMgLUluZmluaXR5CiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC1JbmZpbml0eTsKaWYgKE1hdGgucm91bmQoeCkgIT09IC1JbmZpbml0eSkKewoJJEVSUk9SKCIjMTogJ3ZhciB4PS1JbmZpbml0eTsgTWF0aC5yb3VuZCh4KSAhPT0gLUluZmluaXR5JyIpOwp9Cgo=","commentary":"If x is -Infinity, Math.round(x) is -Infinity","description":"Checking if Math.round(x) is -Infinity, where x is -Infinity","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGVxdWFsIHRvIDAgb3IgZ3JlYXRlciB0aGFuIDAsIG9yIGlmIHggaXMgbGVzcyB0aGFuIC0wLjUsIE1hdGgucm91bmQoeCkgaXMgZXF1YWwgdG8gTWF0aC5mbG9vcih4KzAuNSkKICoKICogQHBhdGggY2gxNS8xNS44LzE1LjguMi8xNS44LjIuMTUvUzE1LjguMi4xNV9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgTWF0aC5yb3VuZCh4KSBpcyBlcXVhbCB0byBNYXRoLmZsb29yKHgrMC41KSwgd2hlcmUgeCBlcXVhbHMgdG8gMCwgZ3JlYXRlciB0aGFuIDAsIG9yIGlzIGxlc3MgdGhhbiAtMC41OyB0aGlzIGNoZWNrIGlzIHBlcmZvcm1lZCBvbiAyMDAwIGFyZ3VtZW50IHggdmFsdWVzCiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKGkgPSAwOyBpIDw9IDEwMDA7IGkrKykKewoJeCA9IGkvMTAuMDsKCWlmIChNYXRoLnJvdW5kKHgpICE9PSBNYXRoLmZsb29yKHggKyAwLjUpKQoJewoJCSRFUlJPUigiIzE6ICd4ID0gIiArIHggKyAiOyBNYXRoLnJvdW5kKHgpICE9PSBNYXRoLmZsb29yKHggKyAwLjUpJyIpCgl9Cn0KCmZvciAoaSA9IC01OyBpID49IC0xMDAwOyBpLS0pCnsKCWlmIChpID09PSAtNSkKCXsKCQl4ID0gLTAuNTAwMDAwMDAwMDAwMDAxOwoJfSBlbHNlCgl7CgkJeCA9IGkvMTAuMDsKCX0KCQoJaWYgKE1hdGgucm91bmQoeCkgIT09IE1hdGguZmxvb3IoeCArIDAuNSkpCgl7CgkJJEVSUk9SKCIjMjogJ3ggPSAiICsgeCArICI7IE1hdGgucm91bmQoeCkgIT09IE1hdGguZmxvb3IoeCArIDAuNSknIikKCX0KfQoK","commentary":"If x is equal to 0 or greater than 0, or if x is less than -0.5, Math.round(x) is equal to Math.floor(x+0.5)","description":"Checking if Math.round(x) is equal to Math.floor(x+0.5), where x equals to 0, greater than 0, or is less than -0.5; this check is performed on 2000 argument x values","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAtMCBhbmQgeCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gLTAuNSwgTWF0aC5yb3VuZCh4KSBpcyBlcXVhbCB0byAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNS9TMTUuOC4yLjE1X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnJvdW5kKHgpIGlzIGVxdWFsIC0wLCB3aGVyZSB4IGlzIGVxdWFsIHRvIDAsIGVxdWFsIHRvIC0wLjUsIG9yIGxlc3MgdGhhbiAtMCB3aGlsZSBncmVhdGVyIHRoYW4gLTAuNQogKi8KCi8vIENIRUNLIzEKaWYgKE1hdGgucm91bmQoLTApICE9PSAtMCkKewoJJEVSUk9SKCIjMTogJ01hdGgucm91bmQoLTApICE9PSAtMCciKTsKfQoKLy8gQ0hFQ0sjMgppZiAoTWF0aC5yb3VuZCgtMC41KSAhPT0gLTApCnsKCSRFUlJPUigiIzI6ICdNYXRoLnJvdW5kKC0wLjUpICE9PSAtMCciKTsKfQoKLy8gQ0hFQ0sjMwppZiAoTWF0aC5yb3VuZCgtMC4yNSkgIT09IC0wKQp7CgkkRVJST1IoIiMzOiAnTWF0aC5yb3VuZCgtMC4yNSkgIT09IC0wJyIpOwp9Cgo=","commentary":"If x is less than or equal to -0 and x is greater than or equal to -0.5, Math.round(x) is equal to -0","description":"Checking if Math.round(x) is equal -0, where x is equal to 0, equal to -0.5, or less than -0 while greater than -0.5","path":"TestCases/ch15/15.8/15.8.2/15.8.2.15/S15.8.2.15_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIE5hTiwgTWF0aC5zaW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE2L1MxNS44LjIuMTZfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc2luKE5hTikgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IE5hTjsKaWYgKCFpc05hTihNYXRoLnNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeD1OYU47IGlzTmFOKE1hdGguc2luKHgpKSA9PT0gZmFsc2UnIik7Cn0KCg==","commentary":"If x is NaN, Math.sin(x) is NaN","description":"Checking if Math.sin(NaN) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC0wLCBNYXRoLnNpbih4KSBpcyAtMAogKgogKiBAcGF0aCBjaDE1LzE1LjgvMTUuOC4yLzE1LjguMi4xNi9TMTUuOC4yLjE2X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBNYXRoLnNpbigtMCkgZXF1YWxzIHRvIC0wCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9IC0wOwppZiAoTWF0aC5zaW4oeCkgIT09IC0wKQp7CgkkRVJST1IoIiMxOiAndmFyIHggPSAtMDsgTWF0aC5zaW4oeCkgIT09IC0wJyIpOwp9Cgo=","commentary":"If x is -0, Math.sin(x) is -0","description":"Checking if Math.sin(-0) equals to -0","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzICtJbmZpbml0eSwgTWF0aC5zaW4oeCkgaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuOC8xNS44LjIvMTUuOC4yLjE2L1MxNS44LjIuMTZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE1hdGguc2luKCtJbmZpbml0eSkgaXMgTmFOCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgeCA9ICtJbmZpbml0eTsKaWYgKCFpc05hTihNYXRoLnNpbih4KSkpCnsKCSRFUlJPUigiIzE6ICd2YXIgeCA9ICtJbmZpbml0eTsgaXNOYU4oTWF0aC5zaW4oeCkpID09PSBmYWxzZSciKTsKfQoK","commentary":"If x is +Infinity, Math.sin(x) is NaN","description":"Checking if Math.sin(+Infinity) is NaN","path":"TestCases/ch15/15.8/15.8.2/15.8.2.16/S15.8.2.16_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIC1JbmZpbml0eSwgTWF0aC5
|