aboutsummaryrefslogtreecommitdiffstats
path: root/website/json/ch10.json
diff options
context:
space:
mode:
Diffstat (limited to 'website/json/ch10.json')
-rw-r--r--website/json/ch10.json2
1 files changed, 1 insertions, 1 deletions
diff --git a/website/json/ch10.json b/website/json/ch10.json
index 60247eab9..f4e0a3efd 100644
--- a/website/json/ch10.json
+++ b/website/json/ch10.json
@@ -1 +1 @@
-{"testsCollection":{"name":"Chapter - ch10","numTests":"372","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBjYWxsIGVudGVycyBhIG5ldyBleGVjdXRpb24gY29udGV4dAogKgogKiBAcGF0aCBjaDEwLzEwLjQvUzEwLjRBMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWN1cnNpdmUgZnVuY3Rpb24gY2FsbAogKi8KCnZhciB5OwoKZnVuY3Rpb24gZihhKXsKICB2YXIgeDsKICAKICBpZiAoYSA9PT0gMSkgCiAgICByZXR1cm4geDsKICBlbHNlIHsKICAgIGlmKHggPT09IHVuZGVmaW5lZCkgewogICAgICB4ID0gMDsKICAgIH0gZWxzZSB7CiAgICAgIHggPSAxOwogICAgfQogICAgcmV0dXJuIGYoMSk7CiAgfQp9Cgp5ID0gZigwKTsKCmlmKCEoeSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCIjMTogUmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGxzIHNoYXJlcyBleGVjdXRpb24gY29udGV4dCIpOwp9Cgo=","commentary":"Every function call enters a new execution context","description":"Recursive function call","path":"TestCases/ch10/10.4/S10.4A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBjYWxsIGVudGVycyBhIG5ldyBleGVjdXRpb24gY29udGV4dAogKgogKiBAcGF0aCBjaDEwLzEwLjQvUzEwLjRfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2VxdWVuY2Ugb2YgZnVuY3Rpb24gY2FsbHMKICovCgp2YXIgeTsKCmZ1bmN0aW9uIGYoKXsKICB2YXIgeDsKICAKICBpZih4ID09PSB1bmRlZmluZWQpIHsKICAgIHggPSAwOwogIH0gZWxzZSB7CiAgICB4ID0gMTsKICB9CiAgCiAgcmV0dXJuIHg7Cn0KCnkgPSBmKCk7CnkgPSBmKCk7CgppZighKHkgPT09IDApKXsKICAkRVJST1IoIiMxOiBTZXF1ZW5jZWQgZnVuY3Rpb24gY2FsbHMgc2hhcmVzIGV4ZWN1dGlvbiBjb250ZXh0Iik7Cn0KCg==","commentary":"Every function call enters a new execution context","description":"Sequence of function calls","path":"TestCases/ch10/10.4/S10.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnZhciB5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dCAobmVzdGVkIGZ1bmN0aW9uKQ0KICovDQoNCnZhciBfXzEwXzRfMl8xXzIgPSAic3RyIjsNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KDQogICAgICAgICAgICB2YXIgX2V2YWwgPSBldmFsOw0KICAgICAgICAgICAgdmFyIF9fMTBfNF8yXzFfMiA9ICJzdHIxIjsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGZvbygpIHsNCiAgICAgICAgICAgICAgICB2YXIgX18xMF80XzJfMV8yID0gInN0cjIiOw0KICAgICAgICAgICAgICAgIGlmKF9ldmFsKCJcJ3N0clwnID09PSBfXzEwXzRfMl8xXzIiKSA9PT0gdHJ1ZSAmJiAgLy8gaW5kaXJlY3QgZXZhbA0KICAgICAgICAgICAgICAgICAgICBldmFsKCJcJ3N0cjJcJyA9PT0gX18xMF80XzJfMV8yIikgPT09IHRydWUpIHsgICAvLyBkaXJlY3QgZXZhbA0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZvbygpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIHRoaXMuX18xMF80XzJfMV8xXzI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Indirect call to eval has context set to global context (nested function)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIHRoaXMueSA9IDI7CiAgCiAgZm9yKGkgaW4gdGhpcyl7CiAgICBzdHIxKz1pOwogIH0KICAKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7IAp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjIuMS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGV2YWwgY29kZSBjYW5ub3QgaW5zdGFudGlhdGUgdmFyaWFibGUgaW4gdGhlIHZhcmlhYmxlIGVudmlyb25tZW50IG9mIHRoZSBjYWxsaW5nIGNvbnRleHQgdGhhdCBpbnZva2VkIHRoZSBldmFsIGlmIHRoZSBjb2RlIG9mIHRoZSBjYWxsaW5nIGNvbnRleHQgaXMgc3RyaWN0IGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQpldmFsKCJ2YXIgeCA9IDc7Iik7DQp4ID0gOTsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQo=","commentary":"","description":"Strict Mode - eval code cannot instantiate variable in the variable environment of the calling context that invoked the eval if the code of the calling context is strict code","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTdHJpY3QgbW9kZSBldmFsIGNvZGUgY2Fubm90IGluc3RhbnRpYXRlIGZ1bmN0aW9ucyBpbiB0aGUgdmFyaWFibGUgZW52aXJvbm1lbnQgb2YgdGhlIGNhbGxlciB0byBldmFsDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZXZhbCgiKGZ1bmN0aW9uIGZ1bih4KXsgcmV0dXJuIHggfSkoMTApIik7DQogICAgICAgIHJldHVybiB0eXBlb2YgKGZ1bikgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-2-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICB5ID0gMjsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOyAKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKZnVuY3Rpb24gZigpewogIHZhciBpOwogIHZhciBqOwogIHN0cjEgPSAnJzsKICBzdHIyID0gJyc7CiAgdmFyIHggPSAxOwogIHZhciB5ID0gMjsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsgCn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsgCgogIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp2YXIgeSA9IDI7Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMS01LmpzDQogKiBAZGVzY3JpcHRpb24gSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dCAoaW5zaWRlIGFub3RoZXIgZXZhbCkNCiAqLw0KDQp2YXIgX18xMF80XzJfMV81ID0gInN0ciI7DQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgdmFyIF9fMTBfNF8yXzFfNSA9ICJzdHIxIjsNCiAgICAgICAgICAgIHZhciByID0gZXZhbCgiXA0KICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2V2YWwgPSBldmFsOyBcDQogICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzUgPSBcJ3N0cjJcJzsgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICBfZXZhbChcIlwnc3RyXCcgPT09IF9fMTBfNF8yXzFfNSBcIikgJiYgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKFwiXCdzdHIyXCcgPT09IF9fMTBfNF8yXzFfNVwiKVwNCiAgICAgICAgICAgICAgICAgICAgICAgICIpOw0KICAgICAgICAgICAgcmV0dXJuIHI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgdGhpcy5fXzEwXzRfMl8xXzU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Indirect call to eval has context set to global context (inside another eval)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMy1jLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIENhbGxpbmcgY29kZSBpbiBzdHJpY3QgbW9kZSAtIGV2YWwgY2Fubm90IGluc3RhbnRpYXRlIHZhcmlhYmxlIGluIHRoZSB2YXJpYWJsZSBlbnZpcm9ubWVudCBvZiB0aGUgY2FsbGluZyBjb250ZXh0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBfMTBfNF8yXzNfY18yX3MgPSAwOw0KICBmdW5jdGlvbiBfMTBfNF8yXzNfY18yX3NGdW5jKCkgew0KICAgICAndXNlIHN0cmljdCc7DQogICAgIGV2YWwoInZhciBfMTBfNF8yXzNfY18yX3MgPSAxIik7DQogICAgIHJldHVybiBfMTBfNF8yXzNfY18yX3M9PT0wOw0KICB9DQogIHJldHVybiBfMTBfNF8yXzNfY18yX3NGdW5jKCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Calling code in strict mode - eval cannot instantiate variable in the variable environment of the calling context","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-3-c-2-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnggPSAxOwp5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKdmFyIGk7CnZhciBqOwpzdHIxID0gJyc7CnN0cjIgPSAnJzsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp0aGlzLnggPSAxOwp0aGlzLnkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMy1jLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIERpcmVjdCBldmFsIGNvZGUgaW4gc3RyaWN0IG1vZGUgLSBjYW5ub3QgaW5zdGFudGlhdGUgdmFyaWFibGUgaW4gdGhlIHZhcmlhYmxlIGVudmlyb25tZW50IG9mIHRoZSBjYWxsaW5nIGNvbnRleHQNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIF8xMF80XzJfM19jXzFfcyA9IDA7DQogIGZ1bmN0aW9uIF8xMF80XzJfM19jXzFfc0Z1bmMoKSB7DQogICAgIGV2YWwoIid1c2Ugc3RyaWN0Jzt2YXIgXzEwXzRfMl8zX2NfMV9zID0gMSIpOw0KICAgICByZXR1cm4gXzEwXzRfMl8zX2NfMV9zPT09MDsNCiAgfSANCiAgcmV0dXJuIF8xMF80XzJfM19jXzFfc0Z1bmMoKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Direct eval code in strict mode - cannot instantiate variable in the variable environment of the calling context","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-3-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjIuMS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN0cmljdCBtb2RlIGV2YWwgY29kZSBjYW5ub3QgaW5zdGFudGlhdGUgZnVuY3Rpb25zIGluIHRoZSB2YXJpYWJsZSBlbnZpcm9ubWVudCBvZiB0aGUgY2FsbGVyIHRvIGV2YWwNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIGV2YWwoImZ1bmN0aW9uIF8xMF80XzJfMV8yX2Z1bigpe30iKTsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBfMTBfNF8yXzFfMl9mdW4gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-2-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICB2YXIgeCA9IDE7CiAgdmFyIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIAogIGZvcihpIGluIHRoaXMpewogICAgc3RyMSs9aTsKICB9CiAgCiAgZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOwogIAogIHRoaXMueSA9IDI7Cn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9CgoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMi1jLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBEaXJlY3QgdmFsIGNvZGUgaW4gbm9uLXN0cmljdCBtb2RlIC0gY2FuIGluc3RhbnRpYXRlIHZhcmlhYmxlIGluIGNhbGxpbmcgY29udGV4dA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciB4ID0gMDsNCiAgcmV0dXJuIGZ1bmN0aW9uIGlubmVyKCkgew0KICAgICBldmFsKCJ2YXIgeCA9IDEiKTsNCiAgICAgaWYgKHggPT09IDEpDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICB9ICgpOw0KICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Direct val code in non-strict mode - can instantiate variable in calling context","path":"TestCases/ch10/10.4/10.4.2/10.4.2-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMS00LmpzDQogKiBAZGVzY3JpcHRpb24gSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dCAod2l0aCBibG9jaykNCiAqLw0KDQp2YXIgX18xMF80XzJfMV80ID0gInN0ciI7DQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICAgICAgby5fXzEwXzRfMl8xXzQgPSAic3RyMiI7DQogICAgICAgICAgICB2YXIgX2V2YWwgPSBldmFsOw0KICAgICAgICAgICAgdmFyIF9fMTBfNF8yXzFfNCA9ICJzdHIxIjsNCiAgICAgICAgICAgIHdpdGggKG8pIHsNCiAgICAgICAgICAgICAgICBpZiAoX2V2YWwoIlwnc3RyXCcgPT09IF9fMTBfNF8yXzFfNCIpID09PSB0cnVlICYmICAvLyBpbmRpcmVjdCBldmFsDQogICAgICAgICAgICAgICAgICAgIGV2YWwoIlwnc3RyMlwnID09PSBfXzEwXzRfMl8xXzQiKSA9PT0gdHJ1ZSkgeyAgLy8gZGlyZWN0IGV2YWwNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIHRoaXMuX18xMF80XzJfMV80Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indirect call to eval has context set to global context (with block)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqIEBub1N0cmljdAogKi8KCmZ1bmN0aW9uIGYoKXsKICB2YXIgaTsKICB2YXIgajsKICBzdHIxID0gJyc7CiAgc3RyMiA9ICcnOwoKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQoKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7CgogIHRoaXMueCA9IDE7CiAgdGhpcy55ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","noStrict":"","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwp0aGlzLnkgPSAyOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKdmFyIGk7CnZhciBqOwpzdHIxID0gJyc7CnN0cjIgPSAnJzsKdmFyIHggPSAxOwp2YXIgeSA9IDI7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnZhciB4ID0gMTsKdmFyIHkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dA0KICovDQoNCnZhciBfXzEwXzRfMl8xXzFfMSA9ICJzdHIiOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQoNCiAgICB2YXIgX2V2YWwgPSBldmFsOw0KICAgIHZhciBfXzEwXzRfMl8xXzFfMSA9ICJzdHIxIjsNCiAgICBpZihfZXZhbCgiXCdzdHJcJyA9PT0gX18xMF80XzJfMV8xXzEiKSA9PT0gdHJ1ZSAmJiAgLy8gaW5kaXJlY3QgZXZhbA0KICAgICAgIGV2YWwoIlwnc3RyMVwnID09PSBfXzEwXzRfMl8xXzFfMSIpID09PSB0cnVlKSB7ICAgLy8gZGlyZWN0IGV2YWwNCiAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogICAgcmV0dXJuIGZhbHNlOw0KICB9IGZpbmFsbHkgew0KICAgIGRlbGV0ZSB0aGlzLl9fMTBfNF8yXzFfMV8xOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Indirect call to eval has context set to global context","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICAKICB2YXIgeSA9IDI7Cn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9CgoKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB2YXIgeCA9IDE7CiAgCiAgZm9yKGkgaW4gdGhpcyl7CiAgICBzdHIxKz1pOwogIH0KICAKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7CiAgCiAgdmFyIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dCAoY2F0Y2ggYmxvY2spDQogKi8NCg0KdmFyIF9fMTBfNF8yXzFfMyA9ICJzdHIiOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgdmFyIF9ldmFsID0gZXZhbDsNCiAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzMgPSAic3RyMSI7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHRocm93ICJlcnJvciI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzMgPSAic3RyMiI7DQogICAgICAgICAgICAgICAgaWYgKF9ldmFsKCJcJ3N0clwnID09PSBfXzEwXzRfMl8xXzMiKSA9PT0gdHJ1ZSAmJiAgLy8gaW5kaXJlY3QgZXZhbA0KICAgICAgICAgICAgICAgICAgICBldmFsKCJcJ3N0cjJcJyA9PT0gX18xMF80XzJfMV8zIikgPT09IHRydWUpIHsgIC8vIGRpcmVjdCBldmFsDQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgdGhpcy5fXzEwXzRfMl8xXzM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Indirect call to eval has context set to global context (catch block)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIAogIGZvcihpIGluIHRoaXMpewogICAgc3RyMSs9aTsKICB9CiAgCiAgZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOwogIAogIHZhciB5ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEwLzEwLjQvMTAuNC4yL1MxMC40LjIuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaWN0IGluZGlyZWN0IGV2YWwgc2hvdWxkIG5vdCBsZWFrIHRvcCBsZXZlbAogKiBkZWNsYXJhdGlvbnMgaW50byB0aGUgZ2xvYmFsIHNjb3BlCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwppZiAoISgnZm9vJyBpbiB0aGlzKSkgewogICgxLGV2YWwpKCcidXNlIHN0cmljdCI7IHZhciBmb28gPSA4ODsnKTsKICBpZiAoJ2ZvbycgaW4gdGhpcykgewogICAgJEVSUk9SKCJTdHJpY3QgaW5kaXJlY3QgZXZhbCBsZWFrZWQgYSB0b3AgbGV2ZWwgZGVjbGFyYXRpb24iKTsKICB9Cn0K","commentary":"","description":"Strict indirect eval should not leak top level\ndeclarations into the global scope","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/S10.4.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjIuMS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN0cmljdCBtb2RlIGV2YWwgY29kZSBjYW5ub3QgaW5zdGFudGlhdGUgZnVuY3Rpb25zIGluIHRoZSB2YXJpYWJsZSBlbnZpcm9ubWVudCBvZiB0aGUgY2FsbGVyIHRvIGV2YWwgd2hpY2ggaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7IGZ1bmN0aW9uIF8xMF80XzJfMV80X2Z1bigpe30iKTsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBfMTBfNF8yXzFfNF9mdW4gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval which is contained in strict mode code","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-4-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp2YXIgeCA9IDE7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoKdmFyIHkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICAKICB4ID0gMTsKICB5ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKeSA9IDI7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnRoaXMueSA9IDI7Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEluamVjdGVkIHNldHRlciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgbyA9IHt9Ow0KdmFyIHggPSAyOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IHNldDogZnVuY3Rpb24oc3R1ZmYpIHsgInVzZSBzdHJpY3QiOyB4PXRoaXM7IH0gfSk7DQpvLmZvbyA9IDM7DQpyZXR1cm4geD09PW87DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (Injected setter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-61-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQobnVsbCkoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PW51bGw7fTsNCnJldHVybiBmLmJpbmQobnVsbCkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.bind(null)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-77-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIGYxID0gZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-40-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-53-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-51-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChzb21lT2JqZWN0KSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgbyA9IHt9Ow0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1vO307DQppZiAoISAoKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQobykoKTt9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.bind(someObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-98gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChnbG9iYWxPYmplY3QpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuY2FsbChmbkdsb2JhbE9iamVjdCgpKTt9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.call(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-94-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmMSgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-46gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEluamVjdGVkIGdldHRlciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgbyA9IHt9Ow0KT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IGdldDogZnVuY3Rpb24oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM7IH0gfSk7DQpyZXR1cm4gby5mb289PT1vOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Injected getter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-59-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCgpKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYmluZCgpKCk7IH0pKCkpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.bind()())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-95gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQppZiAoISAoKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-43gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoZ2xvYmFsT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpczt9Ow0KcmV0dXJuIGYuY2FsbChmbkdsb2JhbE9iamVjdCgpKSA9PT0gZm5HbG9iYWxPYmplY3QoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.call(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-75-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBuZXcnZWQgRnVuY3Rpb24gY29uc3RydWN0b3IpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZuR2xvYmFsT2JqZWN0KCkuZiA9IGZ1bmN0aW9uKCkgIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KcmV0dXJuIChuZXcgRnVuY3Rpb24oInJldHVybiBmKCk7IikpKCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by non-strict new'ed Function constructor)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-65-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoKSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQppZiAoISAoZi5iaW5kKCkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.bind()())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-76gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpczt9Ow0KZnVuY3Rpb24gZm9vKCkgeyByZXR1cm4gZigpO30NCmlmIChmb28oKSE9PXVuZGVmaW5lZCl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by non-strict function declaration)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-62gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkobnVsbCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkobnVsbCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.apply(null))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-86-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-39-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9KSgpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-50-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGNoZWNraW5nICd0aGlzJyAoRnVuY3Rpb25EZWNsYXJhdGlvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KcmV0dXJuIGYoKSA9PT0gInVuZGVmaW5lZCI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZjEoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-45gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgovKioKICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy9TMTAuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBXaGVuIGNhbGxpbmcgYSBzdHJpY3QgYW5vbnltb3VzIGZ1bmN0aW9uIGFzIGEKICogZnVuY3Rpb24sICJ0aGlzIiBzaG91bGQgYmUgYm91bmQgdG8gdW5kZWZpbmVkLgogKiBAb25seVN0cmljdAogKi8KCiJ1c2Ugc3RyaWN0IjsKdmFyIHRoYXQgPSAoZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSgpOwppZiAodGhhdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogInRoaXMiIGxlYWtlZCBhczogJyArIHRoYXQpOwp9Cgo=","commentary":"","description":"When calling a strict anonymous function as a\nfunction, \"this\" should be bound to undefined.","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/S10.4.3_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmMSgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-38gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQoNCmlmICghICgoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKSkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-53gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KcmV0dXJuIGYoKSA9PT0gInVuZGVmaW5lZCI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgLSBjaGVja2luZyAndGhpcycgZnJvbSBhIGdsb2JhbCBzY29wZSAoRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQp9DQppZiAoZigpICE9PSAidW5kZWZpbmVkIikgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-9gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-28gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgLSBjaGVja2luZyAndGhpcycgZnJvbSBhIGdsb2JhbCBzY29wZSAoRnVuY3Rpb25EZWNsYXJhdGlvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQp9DQppZiAoZigpICE9PSAidW5kZWZpbmVkIikgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-8gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKExpdGVyYWwgc2V0dGVyIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciB4ID0gMjsNCnZhciBvID0geyBzZXQgZm9vKHN0dWZmKSB7ICJ1c2Ugc3RyaWN0IjsgeD10aGlzOyAgfSB9DQpvLmZvbyA9IDM7DQpyZXR1cm4geD09PW87DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (Literal setter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-57-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCh1bmRlZmluZWQpKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYmluZCh1bmRlZmluZWQpKCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.bind(undefined)())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-97-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KDQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9KSgpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-50gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoZ2xvYmFsT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpczt9Ow0KaWYgKGYuY2FsbChmbkdsb2JhbE9iamVjdCgpKSAhPT0gZm5HbG9iYWxPYmplY3QoKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.call(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-75gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yM2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnZhciBmID0gZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiB0aGlzOw0KfQ0KaWYgKCgobmV3IGYoKSkgPT09IGZuR2xvYmFsT2JqZWN0KCkpIHx8ICh0eXBlb2YgKG5ldyBmKCkpID09PSAidW5kZWZpbmVkIikpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-23gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQobnVsbCkoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PW51bGw7fTsNCmlmICghIChmLmJpbmQobnVsbCkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.bind(null)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-77gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-36-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoc3RyaW5nKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KDQoNCiAgcmV0dXJuIGZvby5jYWxsKCcxJykgPT09ICdzdHJpbmcnICYmIGJhci5jYWxsKCcxJykgPT09ICdvYmplY3QnOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"this is not coerced to an object in strict mode (string)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBGdW5jdGlvbiBjb25zdHJ1Y3RvciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiB0eXBlb2YgdGhpczsiKTsNCmlmIChmKCkgPT09ICJ1bmRlZmluZWQiKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed Function constructor defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-15gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0pKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-44-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKExpdGVyYWwgZ2V0dGVyIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgbyA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIHRoaXM7IH0gfQ0KcmV0dXJuIG8uZm9vPT09bzsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Literal getter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-54-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKSkNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQppZiAoISAoKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmFwcGx5KCk7fSkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.apply())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-85gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBuZXcnZWQgRnVuY3Rpb24gY29uc3RydWN0b3IpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCmlmICghICggKG5ldyBGdW5jdGlvbigicmV0dXJuIGYoKTsiKSkgKCkgKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by non-strict new'ed Function constructor)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-65gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KG51bGwpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09bnVsbDt9Ow0KaWYgKCEgZi5hcHBseShudWxsKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.apply(null))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-67gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-32gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yOWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZjEoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-29gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEluamVjdGVkIGdldHRlciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdmFyIG8gPSB7fTsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgIHsgZ2V0IDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9IH0pOw0KaWYgKG8uZm9vIT09bykgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Injected getter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-58gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBuZXcnZWQgRnVuY3Rpb24gY29uc3RydWN0b3IpDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmbkdsb2JhbE9iamVjdCgpLmYgPSBmdW5jdGlvbigpICB7IHJldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHtyZXR1cm4gbmV3IEZ1bmN0aW9uKCJcInVzZSBzdHJpY3RcIjtyZXR1cm4gZigpOyIpKCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict new'ed Function constructor)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-84-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChnbG9iYWxPYmplY3QpKCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTt9Ow0KcmV0dXJuIChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5iaW5kKGZuR2xvYmFsT2JqZWN0KCkpKCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.bind(globalObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-99-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKExpdGVyYWwgc2V0dGVyIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgeCA9IDI7DQp2YXIgbyA9IHsgc2V0IGZvbyhzdHVmZikgeyB4PXRoaXM7IH0gfQ0Kby5mb28gPSAzOw0KcmV0dXJuIHg9PT1vOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Literal setter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-56-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKExpdGVyYWwgZ2V0dGVyIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBvID0geyBnZXQgZm9vKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzOyB9IH0NCnJldHVybiBvLmZvbz09PW87DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (Literal getter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-55-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-46-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgb2JqID0gbmV3IChmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuIHRoaXM7DQp9KTsNCmlmICgob2JqID09PSBmbkdsb2JhbE9iamVjdCgpKSB8fCAodHlwZW9mIG9iaiA9PT0gInVuZGVmaW5lZCIpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQoNCg==","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from Anonymous FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-25gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBGdW5jdGlvbiBjb25zdHJ1Y3RvcikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZm5HbG9iYWxPYmplY3QoKS5mID0gZnVuY3Rpb24oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCnJldHVybiBGdW5jdGlvbigicmV0dXJuIGYoKTsiKSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by non-strict Function constructor)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-64-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgZiA9IG5ldyBGdW5jdGlvbigiXCJ1c2Ugc3RyaWN0XCI7XG5yZXR1cm4gdHlwZW9mIHRoaXM7Iik7DQpyZXR1cm4gZigpID09PSAidW5kZWZpbmVkIjsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (New'ed Function constructor includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xM2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgZiA9IEZ1bmN0aW9uKCJyZXR1cm4gdHlwZW9mIHRoaXM7Iik7DQppZiAoZigpID09PSAidW5kZWZpbmVkIikgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Function constructor defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-13gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoc29tZU9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBvID0ge307DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09bzt9Ow0KcmV0dXJuIGYuY2FsbChvKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.call(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-74-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChudWxsKSkNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTt9Ow0KcmV0dXJuIChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKG51bGwpOyB9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.call(null))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-91-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoZ2xvYmFsT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkoZm5HbG9iYWxPYmplY3QoKSk7IH0pKCkgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.apply(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-89-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkV4cHJlc3Npb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0aGlzOw0KfQ0KcmV0dXJuICggKG5ldyBmKCkpIT09Zm5HbG9iYWxPYmplY3QoKSkgJiYgKHR5cGVvZiAobmV3IGYoKSkgIT09ICJ1bmRlZmluZWQiKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBuZXcnZWQgRnVuY3Rpb24gY29uc3RydWN0b3IpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcyE9PXVuZGVmaW5lZDt9Ow0KaWYgKCEgKChmdW5jdGlvbiAoKSB7cmV0dXJuIG5ldyBGdW5jdGlvbigiXCJ1c2Ugc3RyaWN0XCI7cmV0dXJuIGYoKTsiKSgpO30pKCkpICl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict new'ed Function constructor)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-84gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-30gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEluamVjdGVkIHNldHRlciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KdmFyIG8gPSB7fTsNCnZhciB4ID0gMjsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgeyBzZXQ6IGZ1bmN0aW9uKHN0dWZmKSB7IHg9dGhpczsgfSB9KTsNCm8uZm9vID0gMzsNCnJldHVybiB4PT09bzsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Injected setter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-60-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAodW5kZWZpbmVkKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKSA9PT0gJ3VuZGVmaW5lZCcgJiYgYmFyLmNhbGwoKSA9PT0gJ29iamVjdCc7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"this is not coerced to an object in strict mode (undefined)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChnbG9iYWxPYmplY3QpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuY2FsbChmbkdsb2JhbE9iamVjdCgpKTt9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.call(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-94gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQodW5kZWZpbmVkKSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQppZiAoISAoZi5iaW5kKHVuZGVmaW5lZCkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.bind(undefined)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-78gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDBncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChzdHJpY3QgZnVuY3Rpb24gcGFzc2VkIGFzIGFyZyB0byBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgZnJvbSBub24tc3RyaWN0IGNvbnRleHQpDQogKiBAb25seVN0cmljdA0KICovDQp2YXIgeCA9IDM7DQoNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHggPSB0aGlzOw0KICAgIHJldHVybiAiYSI7DQp9DQppZiAoKCJhYiIucmVwbGFjZSgiYiIsIGYpIT09ImFhIikgfHwgKHghPT11bmRlZmluZWQpKSB7DQogICAgICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict Mode - checking 'this' (strict function passed as arg to String.prototype.replace from non-strict context)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-100gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-34-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-33-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KGdsb2JhbE9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM7fTsNCmlmIChmLmFwcGx5KGZuR2xvYmFsT2JqZWN0KCkpICE9PSBmbkdsb2JhbE9iamVjdCgpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.apply(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-70gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoZ2xvYmFsT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM7fTsNCmlmICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkoZm5HbG9iYWxPYmplY3QoKSk7fSkoKSAhPT0gZm5HbG9iYWxPYmplY3QoKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.apply(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-89gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChzdHJpY3QgZnVuY3Rpb24gcGFzc2VkIGFzIGFyZyB0byBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgZnJvbSBub24tc3RyaWN0IGNvbnRleHQpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciB4ID0gMzsNCg0KZnVuY3Rpb24gZigpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgeCA9IHRoaXM7DQogICAgcmV0dXJuICJhIjsNCn0NCnJldHVybiAoImFiIi5yZXBsYWNlKCJiIiwgZik9PT0iYWEiKSAmJiAoeD09PXVuZGVmaW5lZCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function passed as arg to String.prototype.replace from non-strict context)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-100-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQoNCmlmICghICgoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKSkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-51gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmlmICghICgoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0pKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-35gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0pKCkgPT09ICJ1bmRlZmluZWQiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBvYmogPSBuZXcgKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHRoaXM7DQp9KTsNCnJldHVybiAob2JqICE9PSBmbkdsb2JhbE9iamVjdCgpKSAmJiAoKHR5cGVvZiBvYmopICE9PSAidW5kZWZpbmVkIik7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from Anonymous FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KaWYgKChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0pKCkgIT09ICJ1bmRlZmluZWQiKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-12gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGNoZWNraW5nICd0aGlzJyAoRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQp9DQpyZXR1cm4gZigpID09PSAidW5kZWZpbmVkIjsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-41-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCmlmICghIGYuYXBwbHkoKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.apply())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-66gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkV4cHJlc3Npb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0aGlzOw0KfQ0KaWYgKCgobmV3IGYoKSkgPT09IGZuR2xvYmFsT2JqZWN0KCkpIHx8ICh0eXBlb2YgKG5ldyBmKCkpID09PSAidW5kZWZpbmVkIikpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-24gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCh1bmRlZmluZWQpKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmNhbGwodW5kZWZpbmVkKTt9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.call(undefined))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-92-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KdmFyIGYxID0gZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-40gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZjEoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-45-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKGluZGlyZWN0IGV2YWwgdXNlZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnZhciBteV9ldmFsID0gZXZhbDsNCnJldHVybiBteV9ldmFsKCJ0aGlzIikgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (indirect eval used within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmMSgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-36gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBldmFsKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXMhPT11bmRlZmluZWQ7fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGV2YWwoImYoKTsiKTt9KSgpKSApew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict eval)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-82gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KGdsb2JhbE9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM7fTsNCnJldHVybiBmLmFwcGx5KGZuR2xvYmFsT2JqZWN0KCkpID09PSBmbkdsb2JhbE9iamVjdCgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.apply(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-70-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwobnVsbCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT1udWxsO307DQpyZXR1cm4gZi5jYWxsKG51bGwpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.call(null))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-72-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkRlY2xhcmF0aW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmKCkgew0KICAgIHJldHVybiB0aGlzOw0KfQ0KaWYgKCgobmV3IGYoKSkgPT09IGZuR2xvYmFsT2JqZWN0KCkpIHx8ICh0eXBlb2YgKG5ldyBmKCkpID09PSAidW5kZWZpbmVkIikpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg0K","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-21gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoZ2xvYmFsT2JqZWN0KSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzO307DQppZiAoZi5iaW5kKGZuR2xvYmFsT2JqZWN0KCkpKCkgIT09IGZuR2xvYmFsT2JqZWN0KCkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.bind(globalObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-80gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBGdW5jdGlvbiBjb25zdHJ1Y3RvcikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KaWYgKCEgKEZ1bmN0aW9uKCJyZXR1cm4gZigpOyIpKCkpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by non-strict Function constructor)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-64gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkobnVsbCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkobnVsbCk7fSkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.apply(null))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-86gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCgpKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmNhbGwoKTsgfSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.call())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-90-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KHVuZGVmaW5lZCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCmlmICghIGYuYXBwbHkodW5kZWZpbmVkKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.apply(undefined))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-68gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoc29tZU9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBvID0ge307DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09bzt9Ow0KaWYgKCEgZi5jYWxsKG8pKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.call(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-74gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwodW5kZWZpbmVkKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KcmV0dXJuIGYuY2FsbCh1bmRlZmluZWQpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.call(undefined))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-73-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCgpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQppZiAoISAoKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmNhbGwoKTt9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.call())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-90gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChzb21lT2JqZWN0KSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgbyA9IHt9Ow0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1vO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQobykoKTt9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.bind(someObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-98-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChzdHJpY3QgYW5vbnltb3VzIGZ1bmN0aW9uIHBhc3NlZCBhcyBhcmcgdG8gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIGZyb20gbm9uLXN0cmljdCBjb250ZXh0KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgeCA9IDM7DQoNCnJldHVybiAoImFiIi5yZXBsYWNlKCJiIiwgKGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHggPSB0aGlzOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJhIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSk9PT0iYWEiKSAmJiAoeD09PXVuZGVmaW5lZCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict anonymous function passed as arg to String.prototype.replace from non-strict context)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-102-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-52-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkodW5kZWZpbmVkKSkNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKX07DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmFwcGx5KHVuZGVmaW5lZCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.apply(undefined))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-87-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKExpdGVyYWwgc2V0dGVyIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgeCA9IDI7DQp2YXIgbyA9IHsgc2V0IGZvbyhzdHVmZikgeyB4PXRoaXM7IH0gfQ0Kby5mb28gPSAzOw0KaWYgKHghPT1vKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (Literal setter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-56gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYxKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-37-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoc29tZU9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBvID0ge307DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PW87fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkobyk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.apply(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-88-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoYm9vbGVhbikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICByZXR1cm4gdHlwZW9mKHRoaXMpOw0KICB9DQoNCiAgZnVuY3Rpb24gYmFyKCkNCiAgew0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KDQogIHJldHVybiBmb28uY2FsbCh0cnVlKSA9PT0gJ2Jvb2xlYW4nICYmIGJhci5jYWxsKHRydWUpID09PSAnb2JqZWN0JzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"this is not coerced to an object in strict mode (boolean)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbikNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQpmdW5jdGlvbiBmb28oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYoKTt9DQpyZXR1cm4gZm9vKCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict function declaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-81-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KHVuZGVmaW5lZCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCnJldHVybiBmLmFwcGx5KHVuZGVmaW5lZCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.apply(undefined))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-68-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBldmFsKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQppZiAoISBldmFsKCJmKCk7Iikpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by non-strict eval)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-63gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KaWYgKCEgKChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-42gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-42-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KaWYgKCEgKChmdW5jdGlvbiAoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-34gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCh1bmRlZmluZWQpKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYmluZCh1bmRlZmluZWQpKCk7IH0pKCkpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.bind(undefined)())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-97gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEluamVjdGVkIHNldHRlciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdmFyIG8gPSB7fTsNCnZhciB4ID0gMjsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgeyBzZXQ6IGZ1bmN0aW9uKHN0dWZmKSB7IHg9dGhpczsgfSB9KTsNCm8uZm9vID0gMzsNCmlmICh4IT09bykgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Injected setter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-60gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQoNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-49gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCh1bmRlZmluZWQpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQppZiAoISAoKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmNhbGwodW5kZWZpbmVkKTt9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.call(undefined))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-92gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKSkNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmFwcGx5KCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.apply())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-85-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgLSBjaGVja2luZyAndGhpcycgZnJvbSBhIGdsb2JhbCBzY29wZSAoRnVuY3Rpb25EZWNsYXJhdGlvbiBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZigpIHsNCiAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQp9DQppZiAoZigpICE9PSAidW5kZWZpbmVkIikgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-7gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDJncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChzdHJpY3QgYW5vbnltb3VzIGZ1bmN0aW9uIHBhc3NlZCBhcyBhcmcgdG8gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIGZyb20gbm9uLXN0cmljdCBjb250ZXh0KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KdmFyIHggPSAzOw0KaWYgKCAoImFiIi5yZXBsYWNlKCJiIiwgKGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHggPSB0aGlzOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJhIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSkhPT0iYWEiKSB8fCAoeCE9PXVuZGVmaW5lZCkpIHsNCiAgICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict Mode - checking 'this' (strict anonymous function passed as arg to String.prototype.replace from non-strict context)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-102gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KaWYgKCEgZi5jYWxsKCkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.call())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-71gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKExpdGVyYWwgZ2V0dGVyIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBvID0geyBnZXQgZm9vKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzOyB9IH0NCmlmIChvLmZvbyE9PW8pIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Literal getter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-55gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0aGlzOw0KfQ0KcmV0dXJuICggKG5ldyBmKCkpIT09Zm5HbG9iYWxPYmplY3QoKSkgJiYgKHR5cGVvZiAobmV3IGYoKSkgIT09ICJ1bmRlZmluZWQiKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zOWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-39gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChudWxsKSgpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQppZiAoISAoKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQobnVsbCkoKTsgfSkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.bind(null)())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-96gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgZiA9IG5ldyBGdW5jdGlvbigiXCJ1c2Ugc3RyaWN0XCI7XG5yZXR1cm4gdHlwZW9mIHRoaXM7Iik7DQppZiAoZigpICE9PSAidW5kZWZpbmVkIikgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed Function constructor includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-16gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zN2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYxKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-37gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkRlY2xhcmF0aW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmKCkgew0KICAgIHJldHVybiB0aGlzOw0KfQ0KcmV0dXJuICggKG5ldyBmKCkpIT09Zm5HbG9iYWxPYmplY3QoKSkgJiYgKHR5cGVvZiAobmV3IGYoKSkgIT09ICJ1bmRlZmluZWQiKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbiBjb25zdHJ1Y3RvcikNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7cmV0dXJuIHRoaXMhPT11bmRlZmluZWQ7fTsNCmlmICghICgoZnVuY3Rpb24gKCkge3JldHVybiBGdW5jdGlvbigiXCJ1c2Ugc3RyaWN0XCI7cmV0dXJuIGYoKTsiKSgpO30pKCkpICl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function constructor)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-83gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEluamVjdGVkIHNldHRlciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgbyA9IHt9Ow0KdmFyIHggPSAyOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IHNldDogZnVuY3Rpb24oc3R1ZmYpIHsgInVzZSBzdHJpY3QiOyB4PXRoaXM7IH0gfSk7DQpvLmZvbyA9IDM7DQppZiAoeCE9PW8pIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (Injected setter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-61gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xN2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKGV2YWwgdXNlZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmlmIChldmFsKCJ0aGlzIikgIT09IGZuR2xvYmFsT2JqZWN0KCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (eval used within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-17gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KaWYgKCEgKChmdW5jdGlvbiAoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKSkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-52gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KHNvbWVPYmplY3QpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgbyA9IHt9Ow0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PW87fTsNCnJldHVybiBmLmFwcGx5KG8pOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.apply(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-69-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBldmFsKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQpyZXR1cm4gZXZhbCgiZigpOyIpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by non-strict eval)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-63-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KaWYgKGYoKSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-10gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KaWYgKCEgKChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0pKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-44gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgZiA9IEZ1bmN0aW9uKCJyZXR1cm4gdHlwZW9mIHRoaXM7Iik7DQpyZXR1cm4gZigpICE9PSAidW5kZWZpbmVkIjsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Function constructor defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBmID0gRnVuY3Rpb24oIlwidXNlIHN0cmljdFwiO1xucmV0dXJuIHR5cGVvZiB0aGlzOyIpOw0KaWYgKGYoKSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Function constructor includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-14gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zM2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmlmICghICgoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-33gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKExpdGVyYWwgc2V0dGVyIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciB4ID0gMjsNCnZhciBvID0geyBzZXQgZm9vKHN0dWZmKSB7ICJ1c2Ugc3RyaWN0IjsgeD10aGlzOyAgfSB9DQpvLmZvbyA9IDM7DQppZiAoeCE9PW8pIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (Literal setter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-57gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KDQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-48gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChnbG9iYWxPYmplY3QpKCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTt9Ow0KaWYgKCEgKChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5iaW5kKGZuR2xvYmFsT2JqZWN0KCkpKCk7fSkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.bind(globalObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-99gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEluamVjdGVkIGdldHRlciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KdmFyIG8gPSB7fTsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgIHsgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0gfSk7DQpyZXR1cm4gby5mb289PT1vOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Injected getter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-58-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChzb21lT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIG8gPSB7fTsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09bzt9Ow0KcmV0dXJuIChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKG8pOyB9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.call(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-93-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKExpdGVyYWwgZ2V0dGVyIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgbyA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIHRoaXM7IH0gfQ0KaWYgKG8uZm9vIT09bykgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Literal getter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-54gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCgpKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYmluZCgpKCk7IH0pKCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.bind()())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-95-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwodW5kZWZpbmVkKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KaWYgKCEgZi5jYWxsKHVuZGVmaW5lZCkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.call(undefined))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-73gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-41gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwobnVsbCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT1udWxsO307DQppZiAoISBmLmNhbGwobnVsbCkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.call(null))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-72gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKGluZGlyZWN0IGV2YWwgaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KdmFyIG15X2V2YWwgPSBldmFsOw0KaWYgKG15X2V2YWwoIlwidXNlIHN0cmljdFwiO1xudGhpcyIpICE9PSBmbkdsb2JhbE9iamVjdCgpICkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (indirect eval includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-20gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0pKCkgPT09ICJ1bmRlZmluZWQiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnZhciBmID0gZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiB0aGlzOw0KfQ0KcmV0dXJuICggKG5ldyBmKCkpIT09Zm5HbG9iYWxPYmplY3QoKSkgJiYgKHR5cGVvZiAobmV3IGYoKSkgIT09ICJ1bmRlZmluZWQiKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChzb21lT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KdmFyIG8gPSB7fTsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09bzt9Ow0KaWYgKCEgKChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKG8pOyB9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.call(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-93gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZjEoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChub24tc3RyaWN0IGZ1bmN0aW9uIHBhc3NlZCBhcyBhcmcgdG8gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIGZyb20gc3RyaWN0IGNvbnRleHQpDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgeCA9IDM7DQoNCmZ1bmN0aW9uIGYoKSB7DQogICAgeCA9IHRoaXM7DQogICAgcmV0dXJuICJhIjsNCn0NCg0KcmV0dXJuIChmdW5jdGlvbigpIHsidXNlIHN0cmljdCI7IHJldHVybiAiYWIiLnJlcGxhY2UoImIiLCBmKT09PSJhYSI7fSgpKSAmJiAoeD09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function passed as arg to String.prototype.replace from strict context)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-101-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0pKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-35-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KcmV0dXJuIGYuY2FsbCgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.call())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-71-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZjEoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9KSgpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-47gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoTnVtYmVyKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KDQoNCiAgcmV0dXJuIGZvby5jYWxsKDEpID09PSAnbnVtYmVyJyAmJiBiYXIuY2FsbCgxKSA9PT0gJ29iamVjdCc7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"this is not coerced to an object in strict mode (Number)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoKSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQpyZXR1cm4gZi5iaW5kKCkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.bind()())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-76-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZjEoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9KSgpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-47-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBldmFsKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXMhPT11bmRlZmluZWQ7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGV2YWwoImYoKTsiKTt9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict eval)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-82-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01LXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoZnVuY3Rpb24pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICByZXR1cm4gdHlwZW9mKHRoaXMpOw0KICB9IA0KDQogIGZ1bmN0aW9uIGJhcigpDQogIHsNCiAgICByZXR1cm4gdHlwZW9mKHRoaXMpOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vYmFyKCkNCiAgew0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKGZvb2JhcikgPT09ICdmdW5jdGlvbicgJiYgYmFyLmNhbGwoZm9vYmFyKSA9PT0gJ2Z1bmN0aW9uJzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"this is not coerced to an object in strict mode (function)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-43-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmlmICgoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0pKCkgIT09ICJ1bmRlZmluZWQiKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQoNCg==","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-11gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkodW5kZWZpbmVkKSkNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTt9Ow0KaWYgKCEgKChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5hcHBseSh1bmRlZmluZWQpO30pKCkpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.apply(undefined))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-87gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-38-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQodW5kZWZpbmVkKSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQpyZXR1cm4gZi5iaW5kKHVuZGVmaW5lZCkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.bind(undefined)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-78-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChub24tc3RyaWN0IGZ1bmN0aW9uIHBhc3NlZCBhcyBhcmcgdG8gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIGZyb20gc3RyaWN0IGNvbnRleHQpDQogKiBAbm9TdHJpY3QNCiAqLw0KdmFyIHggPSAzOw0KDQpmdW5jdGlvbiBmKCkgew0KICAgIHggPSB0aGlzOw0KICAgIHJldHVybiAiYSI7DQp9DQoNCmlmICggKCEoZnVuY3Rpb24oKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gImFiIi5yZXBsYWNlKCJiIiwgZik9PT0iYWEiO30oKSkpIHx8ICh4IT09Zm5HbG9iYWxPYmplY3QoKSkpIHsNCiAgICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function passed as arg to String.prototype.replace from strict context)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-101gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBGdW5jdGlvbiBjb25zdHJ1Y3RvciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiB0eXBlb2YgdGhpczsiKTsNCnJldHVybiBmKCkgIT09ICJ1bmRlZmluZWQiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (New'ed Function constructor defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KG51bGwpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09bnVsbDt9Ow0KcmV0dXJuIGYuYXBwbHkobnVsbCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.apply(null))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-67-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgb2JqID0gbmV3IChmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuIHRoaXM7DQp9KTsNCnJldHVybiAob2JqICE9PSBmbkdsb2JhbE9iamVjdCgpKSAmJiAoKHR5cGVvZiBvYmopICE9PSAidW5kZWZpbmVkIik7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from Anonymous FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGNoZWNraW5nICd0aGlzJyAoRnVuY3Rpb25EZWNsYXJhdGlvbiBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCmZ1bmN0aW9uIGYoKSB7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KcmV0dXJuIGYoKSA9PT0gInVuZGVmaW5lZCI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBmID0gRnVuY3Rpb24oIlwidXNlIHN0cmljdFwiO1xucmV0dXJuIHR5cGVvZiB0aGlzOyIpOw0KcmV0dXJuIGYoKSA9PT0gInVuZGVmaW5lZCI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (Function constructor includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZjEoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpczt9Ow0KZnVuY3Rpb24gZm9vKCkgeyByZXR1cm4gZigpO30NCnJldHVybiBmb28oKT09PXVuZGVmaW5lZDsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by non-strict function declaration)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-62-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yN2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZjEoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-27gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-49-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0aGlzOw0KfQ0KaWYgKCgobmV3IGYoKSkgPT09IGZuR2xvYmFsT2JqZWN0KCkpIHx8ICh0eXBlb2YgKG5ldyBmKCkpID09PSAidW5kZWZpbmVkIikpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg0K","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-22gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoc29tZU9iamVjdCkoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KdmFyIG8gPSB7fTsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT1vO307DQppZiAoISAoZi5iaW5kKG8pKCkpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.bind(someObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-79gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-48-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xOWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKGluZGlyZWN0IGV2YWwgdXNlZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnZhciBteV9ldmFsID0gZXZhbDsNCmlmIChteV9ldmFsKCJ0aGlzIikgIT09IGZuR2xvYmFsT2JqZWN0KCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (indirect eval used within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-19gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEluamVjdGVkIGdldHRlciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgbyA9IHt9Ow0KT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IGdldDogZnVuY3Rpb24oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM7IH0gfSk7DQppZiAoby5mb28hPT1vKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (Injected getter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-59gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-31gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbiBjb25zdHJ1Y3RvcikNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZuR2xvYmFsT2JqZWN0KCkuZiA9IGZ1bmN0aW9uKCkge3JldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHtyZXR1cm4gRnVuY3Rpb24oIlwidXNlIHN0cmljdFwiO3JldHVybiBmKCk7IikoKTt9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function constructor)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-83-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChudWxsKSgpKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQobnVsbCkoKTsgfSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.bind(null)())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-96-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChudWxsKSkNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTt9Ow0KaWYgKCEgKChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKG51bGwpOyB9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.call(null))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-91gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCnJldHVybiBmLmFwcGx5KCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.apply())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-66-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoc29tZU9iamVjdCkoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIG8gPSB7fTsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT1vO307DQpyZXR1cm4gZi5iaW5kKG8pKCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.bind(someObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-79-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKGV2YWwgdXNlZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnJldHVybiAoZXZhbCgidHlwZW9mIHRoaXMiKSA9PT0gInVuZGVmaW5lZCIpICYmIChldmFsKCJ0aGlzIikgIT09IGZuR2xvYmFsT2JqZWN0KCkpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (eval used within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoZ2xvYmFsT2JqZWN0KSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzO307DQpyZXR1cm4gZi5iaW5kKGZuR2xvYmFsT2JqZWN0KCkpKCkgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.bind(globalObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-80-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KHNvbWVPYmplY3QpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgbyA9IHt9Ow0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PW87fTsNCmlmICghIGYuYXBwbHkobykpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.apply(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-69gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBvYmogPSBuZXcgKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHRoaXM7DQp9KTsNCmlmICgob2JqID09PSBmbkdsb2JhbE9iamVjdCgpKSB8fCAodHlwZW9mIG9iaiA9PT0gInVuZGVmaW5lZCIpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from Anonymous FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-26gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbikNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQpmdW5jdGlvbiBmb28oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYoKTt9DQppZiAoISBmb28oKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict function declaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-81gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoc29tZU9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBvID0ge307DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PW87fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkobyk7fSkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.apply(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-88gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKGluZGlyZWN0IGV2YWwgaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIG15X2V2YWwgPSBldmFsOw0KcmV0dXJuIG15X2V2YWwoIlwidXNlIHN0cmljdFwiO1xudGhpcyIpID09PSBmbkdsb2JhbE9iamVjdCgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (indirect eval includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-20-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZSBpbnN0YW50aWF0aW9uIGlzIHBlcmZvcm1lZCB1c2luZyB0aGUgZ2xvYmFsIG9iamVjdCBhcwogKiB0aGUgdmFyaWFibGUgb2JqZWN0IGFuZCB1c2luZyBwcm9wZXJ0eSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9CiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjEvUzEwLjQuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdmFyaWFibGUgeCwgdGhhdCBpcyBkZWZpbmVkIGFzIHZhciB4ID0gMSwgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKdmFyIHggPSAxOwoKaWYgKHRoaXMueCAhPT0gMSkgewogICRFUlJPUigiIzE6IHZhcmlhYmxlIHggaXMgYSBwcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0Iik7Cn0KCmlmKGRlbGV0ZSB0aGlzLnggIT09IGZhbHNlKXsKICAkRVJST1IoIiMyOiB2YXJpYWJsZSB4IGhhcyBwcm9wZXJ0eSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIpOwp9Cgo=","commentary":"Variable instantiation is performed using the global object as\nthe variable object and using property attributes { DontDelete }","description":"Checking if deleting variable x, that is defined as var x = 1, fails","noStrict":"","path":"TestCases/ch10/10.4/10.4.1/S10.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZSBpbnN0YW50aWF0aW9uIGlzIHBlcmZvcm1lZCB1c2luZyB0aGUgZ2xvYmFsIG9iamVjdCBhcwogKiB0aGUgdmFyaWFibGUgb2JqZWN0IGFuZCB1c2luZyBwcm9wZXJ0eSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9CiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjEvUzEwLjQuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdmFyaWFibGUgeCwgdGhhdCBpcyBkZWZpbmVkIGFzIHggPSAxLCBmYWlscwogKiBAbm9TdHJpY3QKICovCgp4ID0gMTsKCmlmICh0aGlzLnggIT09IDEpIHsKICAkRVJST1IoIiMxOiB2YXJpYWJsZSB4IGlzIGEgcHJvcGVydHkgb2YgZ2xvYmFsIG9iamVjdCIpOwp9CgppZihkZWxldGUgdGhpcy54ICE9PSB0cnVlKXsKICAkRVJST1IoIiMyOiB2YXJpYWJsZSB4IGhhcyBwcm9wZXJ0eSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIpOwp9Cgo=","commentary":"Variable instantiation is performed using the global object as\nthe variable object and using property attributes { DontDelete }","description":"Checking if deleting variable x, that is defined as x = 1, fails","noStrict":"","path":"TestCases/ch10/10.4/10.4.1/S10.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdOYU4nICkgewogICAgJEVSUk9SKCIjMTogJ05hTicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnSW5maW5pdHknICkgewogICAgJEVSUk9SKCIjMTogJ0luZmluaXR5JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICd1bmRlZmluZWQnICkgewogICAgJEVSUk9SKCIjMTogJ3VuZGVmaW5lZCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IAp9Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdNYXRoXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnTWF0aFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9XG4nKwonfVxuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdPYmplY3QnICkgewogICAgJEVSUk9SKCIjMTogJ3Byb3BlcnR5ICdPYmplY3QnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0Z1bmN0aW9uJykgewogICAgJEVSUk9SKCIjMTogJ0Z1bmN0aW9uJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdTdHJpbmcnICkgewogICAgJEVSUk9SKCIjMTogJ1N0cmluZycgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnTnVtYmVyJyApIHsKICAgICRFUlJPUigiIzE6ICdOdW1iZXInIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0FycmF5JyApIHsKICAgICRFUlJPUigiIzE6ICdBcnJheScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnQm9vbGVhbicgKSB7CiAgICAkRVJST1IoIiMxOiAnQm9vbGVhbicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnRGF0ZScgKSB7CiAgICAkRVJST1IoIiMxOiAnRGF0ZScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnUmVnRXhwJyApIHsKICAgICRFUlJPUigiIzE6ICdSZWdFeHAnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0Vycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnRXZhbEVycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdFdmFsRXJyb3InIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ1JhbmdlRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1JhbmdlRXJyb3InIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ1JlZmVyZW5jZUVycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdSZWZlcmVuY2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnU3ludGF4RXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1N5bnRheEVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdUeXBlRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1R5cGVFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnVVJJRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1VSSUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0KfQoK","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjNAppZiAoIGV2YWwgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjNDogZXZhbCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzUKaWYgKCBwYXJzZUludCA9PT0gbnVsbCApIHsKICAkRVJST1IoIiM1OiBwYXJzZUludCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzYKaWYgKCBwYXJzZUZsb2F0ID09PSBudWxsICkgewogICRFUlJPUigiIzY6IHBhcnNlRmxvYXQgPT09IG51bGwiKTsKfQoKLy9DSEVDSyM3CmlmICggaXNOYU4gPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjNzogaXNOYU4gPT09IG51bGwiKTsKfQoKLy9DSEVDSyM4CmlmICggaXNGaW5pdGUgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjODogaXNGaW5pdGUgPT09IG51bGwiKTsKfQoKLy9DSEVDSyM5CmlmICggZGVjb2RlVVJJID09PSBudWxsICkgewogICRFUlJPUigiIzk6IGRlY29kZVVSSSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzEwCmlmICggZGVjb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICRFUlJPUigiIzEwOiBkZWNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMxMQppZiAoIGVuY29kZVVSSSA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxMTogZW5jb2RlVVJJID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMTIKaWYgKCBlbmNvZGVVUklDb21wb25lbnQgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTI6IGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwp9Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBPdGhlciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzI3CiAgaWYgKCBNYXRoID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjc6IE1hdGggPT09IG51bGwiKTsKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBDb25zdHJ1Y3RvciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ09iamVjdCcgKSB7CiAgICAgICRFUlJPUigiIzE6ICdwcm9wZXJ0eSAnT2JqZWN0JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0Z1bmN0aW9uJykgewogICAgICAkRVJST1IoIiMxOiAnRnVuY3Rpb24nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnU3RyaW5nJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1N0cmluZycgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdOdW1iZXInICkgewogICAgICAkRVJST1IoIiMxOiAnTnVtYmVyJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0FycmF5JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ0FycmF5JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0Jvb2xlYW4nICkgewogICAgICAkRVJST1IoIiMxOiAnQm9vbGVhbicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdEYXRlJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ0RhdGUnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnUmVnRXhwJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1JlZ0V4cCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdFdmFsRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnRXZhbEVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ1JhbmdlRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnUmFuZ2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdSZWZlcmVuY2VFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdSZWZlcmVuY2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdTeW50YXhFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdTeW50YXhFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdUeXBlRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnVHlwZUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ1VSSUVycm9yJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1VSSUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSAKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdOYU5cJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdOYU5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdJbmZpbml0eVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0luZmluaXR5XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwndW5kZWZpbmVkXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwndW5kZWZpbmVkXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH1cbicrCid9XG4nOwoKZXZhbChldmFsU3RyKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIE90aGVyIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMyN1xuJysKJ2lmICggTWF0aCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzI3OiBNYXRoID09PSBudWxsIik7XG4nKwonfVxuJysKJztcbic7CgpldmFsKGV2YWxTdHIpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBWYWx1ZSBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBpZiAoIE5hTiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE6IE5hTiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyCiAgaWYgKCBJbmZpbml0eSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzI6IEluZmluaXR5ID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzMKICBpZiAoIHVuZGVmaW5lZCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzM6IHVuZGVmaW5lZCA9PT0gbnVsbCIpOwogIH0KfQoKdGVzdCgpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIEZ1bmN0aW9uIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyM0XG4nKwonaWYgKCBldmFsID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjNDogZXZhbCA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyM1XG4nKwonaWYgKCBwYXJzZUludCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzU6IHBhcnNlSW50ID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzZcbicrCidpZiAoIHBhcnNlRmxvYXQgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM2OiBwYXJzZUZsb2F0ID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzdcbicrCidpZiAoIGlzTmFOID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjNzogaXNOYU4gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjOFxuJysKJ2lmICggaXNGaW5pdGUgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM4OiBpc0Zpbml0ZSA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyM5XG4nKwonaWYgKCBkZWNvZGVVUkkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM5OiBkZWNvZGVVUkkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTBcbicrCidpZiAoIGRlY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzEwOiBkZWNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTFcbicrCidpZiAoIGVuY29kZVVSSSA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzExOiBlbmNvZGVVUkkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTJcbicrCidpZiAoIGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzEyOiBlbmNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTtcbicrCid9XG4nKwonO1xuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdldmFsXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZXZhbFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ3BhcnNlSW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwncGFyc2VJbnRcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdwYXJzZUZsb2F0XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwncGFyc2VGbG9hdFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ2lzTmFOXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnaXNOYU5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdpc0Zpbml0ZVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ2lzRmluaXRlXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZGVjb2RlVVJJXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZGVjb2RlVVJJXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZGVjb2RlVVJJQ29tcG9uZW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZGVjb2RlVVJJQ29tcG9uZW50XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZW5jb2RlVVJJXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZW5jb2RlVVJJXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZW5jb2RlVVJJQ29tcG9uZW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZW5jb2RlVVJJQ29tcG9uZW50XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH1cbicrCid9XG4nOwoKZXZhbChldmFsU3RyKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBDb25zdHJ1Y3RvciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEzCiAgaWYgKCBPYmplY3QgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMxMzogT2JqZWN0ID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE0CiAgaWYgKCBGdW5jdGlvbiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE0OiBGdW5jdGlvbiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxNQogIGlmICggU3RyaW5nID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTU6IFN0cmluZyA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxNgogIGlmICggTnVtYmVyID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTY6IEZ1bmN0aW9uID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE3CiAgaWYgKCBBcnJheSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE3OiBBcnJheSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxOAogIGlmICggQm9vbGVhbiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzIwOiBCb29sZWFuID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE4CiAgaWYgKCBEYXRlID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTg6IERhdGUgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMTkKICBpZiAoIFJlZ0V4cCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE5OiBSZWdFeHAgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMjAKICBpZiAoIEVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjA6IEVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzIxCiAgaWYgKCBFdmFsRXJyb3IgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMyMTogRXZhbEVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzIyCiAgaWYgKCBSYW5nZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjI6IFJhbmdlRXJyb3IgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMjMKICBpZiAoIFJlZmVyZW5jZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjM6IFJlZmVyZW5jZUVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzI0CiAgaWYgKCBTeW50YXhFcnJvciA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzI0OiBTeW50YXhFcnJvciA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyNQogIGlmICggVHlwZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjU6IFR5cGVFcnJvciA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyNgogIGlmICggVVJJRXJyb3IgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMyNjogVVJJRXJyb3IgPT09IG51bGwiKTsKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdPYmplY3RcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdPYmplY3RcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdGdW5jdGlvblwnKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRnVuY3Rpb25cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdTdHJpbmdcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdTdHJpbmdcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdOdW1iZXJcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdOdW1iZXJcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdBcnJheVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0FycmF5XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnQm9vbGVhblwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0Jvb2xlYW5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdEYXRlXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRGF0ZVwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ1JlZ0V4cFwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ1JlZ0V4cFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ0Vycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdFdmFsRXJyb3JcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdFdmFsRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdSYW5nZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnUmFuZ2VFcnJvclwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ1JlZmVyZW5jZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnUmVmZXJlbmNlRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdTeW50YXhFcnJvclwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ1N5bnRheEVycm9yXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnVHlwZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnVHlwZUVycm9yXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnVVJJRXJyb3JcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdVUklFcnJvclwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9XG4nKwonfVxuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBPdGhlciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ01hdGgnICkgewogICAgICAkRVJST1IoIiMxOiAnTWF0aCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0KICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBWYWx1ZSBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ05hTicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdOYU4nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnSW5maW5pdHknICkgewogICAgICAkRVJST1IoIiMxOiAnSW5maW5pdHknIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAndW5kZWZpbmVkJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ3VuZGVmaW5lZCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gCiAgfQp9Cgp0ZXN0KCk7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMjcKaWYgKCBNYXRoID09PSBudWxsICkgewogICRFUlJPUigiIzI3OiBNYXRoID09PSBudWxsIik7Cn0KCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdldmFsJyApIHsKICAgICRFUlJPUigiIzE6ICdldmFsJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUludCcgKSB7CiAgICAkRVJST1IoIiMxOiAncGFyc2VJbnQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ3BhcnNlRmxvYXQnICkgewogICAgJEVSUk9SKCIjMTogJ3BhcnNlRmxvYXQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ2lzTmFOJyApIHsKICAgICRFUlJPUigiIzE6ICdpc05hTicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnaXNGaW5pdGUnICkgewogICAgJEVSUk9SKCIjMTogJ2lzRmluaXRlJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdkZWNvZGVVUkknICkgewogICAgJEVSUk9SKCIjMTogJ2RlY29kZVVSSScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnZGVjb2RlVVJJQ29tcG9uZW50JyApIHsKICAgICRFUlJPUigiIzE6ICdkZWNvZGVVUklDb21wb25lbnQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ2VuY29kZVVSSScgKSB7CiAgICAkRVJST1IoIiMxOiAnZW5jb2RlVVJJJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdlbmNvZGVVUklDb21wb25lbnQnICkgewogICAgJEVSUk9SKCIjMTogJ2VuY29kZVVSSUNvbXBvbmVudCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IAp9Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQppZiAoIE5hTiA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxOiBOYU4gPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyCmlmICggSW5maW5pdHkgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjogSW5maW5pdHkgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMzCmlmICggdW5kZWZpbmVkID09PSBudWxsICkgewogICRFUlJPUigiIzM6IHVuZGVmaW5lZCA9PT0gbnVsbCIpOwp9Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIFZhbHVlIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMxXG4nKwonaWYgKCBOYU4gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxOiBOYU4gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMlxuJysKJ2lmICggSW5maW5pdHkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyOiBJbmZpbml0eSA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMzXG4nKwonaWYgKCB1bmRlZmluZWQgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMzOiB1bmRlZmluZWQgPT09IG51bGwiKTtcbicrCid9XG4nKwonO1xuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBGdW5jdGlvbiBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzQKICBpZiAoIGV2YWwgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiM0OiBldmFsID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzUKICBpZiAoIHBhcnNlSW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjNTogcGFyc2VJbnQgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjNgogIGlmICggcGFyc2VGbG9hdCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzY6IHBhcnNlRmxvYXQgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjNwogIGlmICggaXNOYU4gPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiM3OiBpc05hTiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyM4CiAgaWYgKCBpc0Zpbml0ZSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzg6IGlzRmluaXRlID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzkKICBpZiAoIGRlY29kZVVSSSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzk6IGRlY29kZVVSSSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMAogIGlmICggZGVjb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTA6IGRlY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMQogIGlmICggZW5jb2RlVVJJID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTE6IGVuY29kZVVSSSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMgogIGlmICggZW5jb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTI6IGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwogIH0KfQoKdGVzdCgpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdNYXRoJyApIHsKICAgICRFUlJPUigiIzE6ICdNYXRoJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0KfQoK","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMTMKaWYgKCBPYmplY3QgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTM6IE9iamVjdCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE0CmlmICggRnVuY3Rpb24gPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTQ6IEZ1bmN0aW9uID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMTUKaWYgKCBTdHJpbmcgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTU6IFN0cmluZyA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE2CmlmICggTnVtYmVyID09PSBudWxsICkgewogICRFUlJPUigiIzE2OiBOdW1iZXIgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMxNwppZiAoIEFycmF5ID09PSBudWxsICkgewogICRFUlJPUigiIzE3OiBBcnJheSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE4CmlmICggQm9vbGVhbiA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMyMDogQm9vbGVhbiA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE4CmlmICggRGF0ZSA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxODogRGF0ZSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE5CmlmICggUmVnRXhwID09PSBudWxsICkgewogICRFUlJPUigiIzE5OiBSZWdFeHAgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMAppZiAoIEVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIwOiBFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzIxCmlmICggRXZhbEVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIxOiBFdmFsRXJyb3IgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMgppZiAoIFJhbmdlRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjI6IFJhbmdlRXJyb3IgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMwppZiAoIFJlZmVyZW5jZUVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIzOiBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzI0CmlmICggU3ludGF4RXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjQ6IFN5bnRheEVycm9yID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMjUKaWYgKCBUeXBlRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjU6IFR5cGVFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzI2CmlmICggVVJJRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjY6IFVSSUVycm9yID09PSBudWxsIik7Cn0KCgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIENvbnN0cnVjdG9yIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMxM1xuJysKJ2lmICggT2JqZWN0ID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMTM6IE9iamVjdCA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxNFxuJysKJ2lmICggRnVuY3Rpb24gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxNDogRnVuY3Rpb24gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTVcbicrCidpZiAoIFN0cmluZyA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE1OiBTdHJpbmcgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTZcbicrCidpZiAoIE51bWJlciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE2OiBGdW5jdGlvbiA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxN1xuJysKJ2lmICggQXJyYXkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxNzogQXJyYXkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMThcbicrCidpZiAoIEJvb2xlYW4gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyMDogQm9vbGVhbiA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxOFxuJysKJ2lmICggRGF0ZSA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE4OiBEYXRlID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzE5XG4nKwonaWYgKCBSZWdFeHAgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxOTogUmVnRXhwID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzIwXG4nKwonaWYgKCBFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIwOiBFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyMVxuJysKJ2lmICggRXZhbEVycm9yID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMjE6IEV2YWxFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyMlxuJysKJ2lmICggUmFuZ2VFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIyOiBSYW5nZUVycm9yID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzIzXG4nKwonaWYgKCBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIzOiBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyNFxuJysKJ2lmICggU3ludGF4RXJyb3IgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyNDogU3ludGF4RXJyb3IgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMjVcbicrCidpZiAoIFR5cGVFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzI1OiBUeXBlRXJyb3IgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMjZcbicrCidpZiAoIFVSSUVycm9yID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMjY6IFVSSUVycm9yID09PSBudWxsIik7XG4nKwonfVxuJysKJztcbic7CgpldmFsKGV2YWxTdHIpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBGdW5jdGlvbiBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ2V2YWwnICkgewogICAgICAkRVJST1IoIiMxOiAnZXZhbCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUludCcgKSB7CiAgICAgICRFUlJPUigiIzE6ICdwYXJzZUludCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUZsb2F0JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ3BhcnNlRmxvYXQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnaXNOYU4nICkgewogICAgICAkRVJST1IoIiMxOiAnaXNOYU4nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnaXNGaW5pdGUnICkgewogICAgICAkRVJST1IoIiMxOiAnaXNGaW5pdGUnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnZGVjb2RlVVJJJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ2RlY29kZVVSSScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdkZWNvZGVVUklDb21wb25lbnQnICkgewogICAgICAkRVJST1IoIiMxOiAnZGVjb2RlVVJJQ29tcG9uZW50JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ2VuY29kZVVSSScgKSB7CiAgICAgICRFUlJPUigiIzE6ICdlbmNvZGVVUkknIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnZW5jb2RlVVJJQ29tcG9uZW50JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ2VuY29kZVVSSUNvbXBvbmVudCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gCiAgfQp9Cgp0ZXN0KCk7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiBpbiBmdW5jdGlvbiBjb2RlIC0gSWYgdGhlIHZhcmlhYmxlIG9iamVjdAogKiBhbHJlYWR5IGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIG5hbWUgb2YgRnVuY3Rpb24gSWRlbnRpZmllciwgcmVwbGFjZSBpdHMKICogdmFsdWUgYW5kIGF0dHJpYnV0ZXMuIFNlbWFudGljYWxseSwgdGhpcyBzdGVwIG11c3QgZm9sbG93IHRoZSBjcmVhdGlvbiBvZgogKiBGb3JtYWxQYXJhbWV0ZXJMaXN0IHByb3BlcnRpZXMKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYSBmdW5jdGlvbiB3aXRoIHBhc3NlZCBwYXJhbWV0ZXIKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgpewogIHJldHVybiB4OwoKICBmdW5jdGlvbiB4KCl7CiAgICByZXR1cm4gNzsKICB9Cn0KaWYoIShmMSgpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSl7CiAgJEVSUk9SKCcjMTogZjEoKSByZXR1cm5zIGZ1bmN0aW9uJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMih4KXsKICByZXR1cm4gdHlwZW9mIHg7CgogIGZ1bmN0aW9uIHgoKXsKICAgIHJldHVybiA3OwogIH0KfQppZighKGYyKCkgPT09ICJmdW5jdGlvbiIpKXsKICAkRVJST1IoJyMyOiBmMigpID09PSAiZnVuY3Rpb24iJyk7Cn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBmMygpIHsKICByZXR1cm4gdHlwZW9mIGFyZ3VtZW50czsKICBmdW5jdGlvbiBhcmd1bWVudHMoKSB7CiAgICByZXR1cm4gNzsKICB9Cn0KaWYgKCEoZjMoKSA9PT0gImZ1bmN0aW9uIikpewogICRFUlJPUignIzM6IGYzKCkgPT09ICJmdW5jdGlvbiInKTsKfQoK","commentary":"Function declaration in function code - If the variable object\nalready has a property with the name of Function Identifier, replace its\nvalue and attributes. Semantically, this step must follow the creation of\nFormalParameterList properties","description":"Checking existence of a function with passed parameter","noStrict":"","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZWFjaCBWYXJpYWJsZURlY2xhcmF0aW9uIG9yIFZhcmlhYmxlRGVjbGFyYXRpb25Ob0luIGluIHRoZQogKiBjb2RlLCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0aGUgdmFyaWFibGUgb2JqZWN0IHdob3NlIG5hbWUgaXMgdGhlIElkZW50aWZpZXIKICogaW4gdGhlIFZhcmlhYmxlRGVjbGFyYXRpb24gb3IgVmFyaWFibGVEZWNsYXJhdGlvbk5vSW4sIHdob3NlIHZhbHVlIGlzCiAqIHVuZGVmaW5lZCBhbmQgd2hvc2UgYXR0cmlidXRlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgdHlwZSBvZiBjb2RlCiAqCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvUzEwLjIuMV9BNS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHZhcmlhYmxlIG9iamVjdCBwcm9wZXJ0eSB3aXRoIGZvcm1hbCBwYXJhbWV0ZXIKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoeCl7CiAgdmFyIHg7CiAgCiAgcmV0dXJuIHR5cGVvZiB4Owp9CgppZighKGYxKCkgPT09ICJ1bmRlZmluZWQiKSl7CiAgJFBSSU5UKCcjMTogZjEoMSkgPT09ICJ1bmRlZmluZWQiJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMih4KXsKICB2YXIgeDsKICAKICByZXR1cm4geDsKfQoKaWYoIShmMigpID09PSB1bmRlZmluZWQpKXsKICAkUFJJTlQoJyMxOiBmMigxKSA9PT0gdW5kZWZpbmVkJyk7Cn0KCg==","commentary":"For each VariableDeclaration or VariableDeclarationNoIn in the\ncode, create a property of the variable object whose name is the Identifier\nin the VariableDeclaration or VariableDeclarationNoIn, whose value is\nundefined and whose attributes are determined by the type of code","description":"Checking existence of the variable object property with formal parameter","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgY2FsbGVyIHN1cHBsaWVzIGZld2VyIHBhcmFtZXRlciB2YWx1ZXMgdGhhbiB0aGVyZSBhcmUKICogZm9ybWFsIHBhcmFtZXRlcnMsIHRoZSBleHRyYSBmb3JtYWwgcGFyYW1ldGVycyBoYXZlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4xL1MxMC4yLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgZnVuY3Rpb24gZXhjbHVkaW5nIGEgZmV3IHBhcmFtZXRlcnMKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoYSwgYil7CiAgcmV0dXJuIChiID09PSB1bmRlZmluZWQpOwp9CmlmKCEoZjEoMSwgMikgPT09IGZhbHNlKSl7CiAgJEVSUk9SKCcjMTogZjEoMSwgMikgPT09IGZhbHNlJyk7Cn0gZWxzZSBpZighKGYxKDEpID09PSB0cnVlKSl7CiAgJEVSUk9SKCcjMTogZjEoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKGEsIGIsIGMpewogIHJldHVybiAoYiA9PT0gdW5kZWZpbmVkKSAmJiAoYyA9PT0gdW5kZWZpbmVkKTsKfQppZighKGYyKDEpID09PSB0cnVlKSl7CiAgJEVSUk9SKCcjMjogZjIoMSwgMikgPT09IHRydWUnKTsKfQoK","commentary":"If the caller supplies fewer parameter values than there are\nformal parameters, the extra formal parameters have value undefined","description":"Calling function excluding a few parameters","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiBpbiBmdW5jdGlvbiBjb2RlIC0gSWYgdGhlIHZhcmlhYmxlIG9iamVjdAogKiBhbHJlYWR5IGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIG5hbWUgb2YgRnVuY3Rpb24gSWRlbnRpZmllciwgcmVwbGFjZSBpdHMKICogdmFsdWUgYW5kIGF0dHJpYnV0ZXMuIFNlbWFudGljYWxseSwgdGhpcyBzdGVwIG11c3QgZm9sbG93IHRoZSBjcmVhdGlvbiBvZgogKiBGb3JtYWxQYXJhbWV0ZXJMaXN0IHByb3BlcnRpZXMKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYSBmdW5jdGlvbiB3aXRoIGRlY2xhcmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgdmFyIHg7CiAgCiAgcmV0dXJuIHg7CiAgCiAgZnVuY3Rpb24geCgpewogICAgcmV0dXJuIDc7CiAgfQp9CmlmKCEoZjEoKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkpewogICRQUklOVCgnIzE6IGYxKCkgcmV0dXJucyBmdW5jdGlvbicpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gZjIoKXsKICB2YXIgeDsKICAKICByZXR1cm4gdHlwZW9mIHg7CiAgCiAgZnVuY3Rpb24geCgpewogICAgcmV0dXJuIDc7CiAgfQp9CmlmKCEoZjIoKSA9PT0gImZ1bmN0aW9uIikpewogICRQUklOVCgnIzI6IGYyKCkgPT09ICJmdW5jdGlvbiInKTsKfQoK","commentary":"Function declaration in function code - If the variable object\nalready has a property with the name of Function Identifier, replace its\nvalue and attributes. Semantically, this step must follow the creation of\nFormalParameterList properties","description":"Checking existence of a function with declared variable","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGVyZSBpcyBhbHJlYWR5IGEgcHJvcGVydHkgb2YgdGhlIHZhcmlhYmxlIG9iamVjdCB3aXRoIHRoZQogKiBuYW1lIG9mIGEgZGVjbGFyZWQgdmFyaWFibGUsIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgYW5kIGl0cyBhdHRyaWJ1dGVzCiAqIGFyZSBub3QgY2hhbmdlZAogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4xL1MxMC4yLjFfQTUuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSB2YXJpYWJsZSBvYmplY3QgcHJvcGVydHkgd2l0aCBmb3JtYWwgcGFyYW1ldGVyCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgpewogIHZhciB4OwogIAogIHJldHVybiB0eXBlb2YgeDsKfQoKaWYoIShmMSgxKSA9PT0gIm51bWJlciIpKXsKICAkUFJJTlQoJyMxOiBmMSgxKSA9PT0gIm51bWJlciInKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKHgpewogIHZhciB4OwogIAogIHJldHVybiB4Owp9CgppZighKGYyKDEpID09PSAxKSl7CiAgJFBSSU5UKCcjMTogZjIoMSkgPT09IDEnKTsKfQoK","commentary":"If there is already a property of the variable object with the\nname of a declared variable, the value of the property and its attributes\nare not changed","description":"Checking existence of the variable object property with formal parameter","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZWFjaCBWYXJpYWJsZURlY2xhcmF0aW9uIG9yIFZhcmlhYmxlRGVjbGFyYXRpb25Ob0luIGluIHRoZQogKiBjb2RlLCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0aGUgdmFyaWFibGUgb2JqZWN0IHdob3NlIG5hbWUgaXMgdGhlIElkZW50aWZpZXIKICogaW4gdGhlIFZhcmlhYmxlRGVjbGFyYXRpb24gb3IgVmFyaWFibGVEZWNsYXJhdGlvbk5vSW4sIHdob3NlIHZhbHVlIGlzCiAqIHVuZGVmaW5lZCBhbmQgd2hvc2UgYXR0cmlidXRlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgdHlwZSBvZiBjb2RlCiAqCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvUzEwLjIuMV9BNS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpYWJsZSBleGlzdGVuY2Ugb25seQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHZhciB4OwogIAogIHJldHVybiB0eXBlb2YgeDsKfQoKaWYoIShmMSgpID09PSAidW5kZWZpbmVkIikpewogICRQUklOVCgnIzE6IGYxKCkgPT09ICJ1bmRlZmluZWQiJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMigpewogIHZhciB4OwogIAogIHJldHVybiB4Owp9CgppZighKGYyKCkgPT09IHVuZGVmaW5lZCkpewogICRQUklOVCgnIzE6IGYyKCkgPT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"For each VariableDeclaration or VariableDeclarationNoIn in the\ncode, create a property of the variable object whose name is the Identifier\nin the VariableDeclaration or VariableDeclarationNoIn, whose value is\nundefined and whose attributes are determined by the type of code","description":"Checking variable existence only","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgdmFsdWUgb2YgdGhpcyBsYXN0IHBhcmFtZXRlciAod2hpY2ggaGFzIHRoZSBzYW1lCiAqIG5hbWUgYXMgc29tZSBwcmV2aW91cyBwYXJhbWV0ZXJzIGRvKSB3YXMgbm90IHN1cHBsaWVkIGJ5IHRoZQogKiBjYWxsZXIsIHRoZSB2YWx1ZSBvZiB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSBpcyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbnMgd2l0aCB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycywKICogdGhhdCBoYXZlIHRoZSBzYW1lIG5hbWUuIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBleGNsdWRpbmcgYSBmZXcgbGFzdCBwYXJhbWV0ZXJzCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgsIGEsIGIsIHgpewogIHJldHVybiB4Owp9CmlmKCEoZjEoMSwgMikgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE6IGYxKDEsIDIpID09PSB1bmRlZmluZWQnKTsKfQoK","commentary":"If the value of this last parameter (which has the same\nname as some previous parameters do) was not supplied by the\ncaller, the value of the corresponding property is undefined","description":"Creating functions with two or more formal parameters,\nthat have the same name. Calling this function excluding a few last parameters","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycyBzaGFyZSB0aGUgc2FtZSBuYW1lLCBoZW5jZQogKiB0aGUgc2FtZSBwcm9wZXJ0eSwgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgaXMgZ2l2ZW4gdGhlIHZhbHVlIHRoYXQgd2FzCiAqIHN1cHBsaWVkIGZvciB0aGUgbGFzdCBwYXJhbWV0ZXIgd2l0aCB0aGlzIG5hbWUKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbnMgaW5pdGlhbGl6ZWQgd2l0aCB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycywgd2hpY2ggaGF2ZSB0aGUgc2FtZSBuYW1lCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSh4LCB4KSB7CiAgcmV0dXJuIHg7Cn0KaWYoIShmMSgxLCAyKSA9PT0gMikpIHsKICAkRVJST1IoIiMxOiBmMSgxLCAyKSA9PT0gMiIpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gZjIoeCwgeCwgeCl7CiAgcmV0dXJuIHgqeCp4Owp9CmlmKCEoZjIoMSwgMiwgMykgPT09IDI3KSl7CiAgJEVSUk9SKCJmMigxLCAyLCAzKSA9PT0gMjciKTsKfQoKLy9DSEVDSyMzCmZ1bmN0aW9uIGYzKHgsIHgpIHsKICByZXR1cm4gJ2EnICsgeDsKfQppZighKGYzKDEsIDIpID09PSAnYTInKSl7CiAgJEVSUk9SKCIjMzogZjMoMSwgMikgPT09ICdhMiciKTsKfQoK","commentary":"If two or more formal parameters share the same name, hence\nthe same property, the corresponding property is given the value that was\nsupplied for the last parameter with this name","description":"Creating functions initialized with two or more formal parameters, which have the same name","noStrict":"","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS8xMC4yLjEuMS8xMC4yLjEuMS4zLzEwLjIuMS4xLjMtNC0yMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgbm90IHRocm93biB3aGVuIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiB0aGUgQ29uc3RydWN0b3IgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCB1bmRlciBzdHJpY3QgbW9kZSAoT2JqZWN0KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmpCYWsgPSBPYmplY3Q7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdCA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QgPSBvYmpCYWs7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is not thrown when changing the value of the Constructor Properties of the Global Object under strict mode (Object)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS8xMC4yLjEuMS8xMC4yLjEuMS4zLzEwLjIuMS4xLjMtNC0yNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgbm90IHRocm93biB3aGVuIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiB0aGUgQ29uc3RydWN0b3IgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCB1bmRlciBzdHJpY3QgbW9kZSAoTnVtYmVyKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIG51bUJhayA9IE51bWJlcjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlciA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBOdW1iZXIgPSBudW1CYWs7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is not thrown when changing the value of the Constructor Properties of the Global Object under strict mode (Number)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS8xMC4yLjEuMS8xMC4yLjEuMS4zLzEwLjIuMS4xLjMtNC0xOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gY2hhbmdpbmcgdGhlIHZhbHVlIG9mIGEgVmFsdWUgUHJvcGVydHkgb2YgdGhlIEdsb2JhbCBPYmplY3QgdW5kZXIgc3RyaWN0IG1vZGUgKHVuZGVmaW5lZCkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdW5kZWZpbmVkID0gMTI7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown when changing the value of a Value Property of the Global Object under strict mode (undefined)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS8xMC4yLjEuMS8xMC4yLjEuMS4zLzEwLjIuMS4xLjMtNC0xNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gY2hhbmdpbmcgdGhlIHZhbHVlIG9mIGEgVmFsdWUgUHJvcGVydHkgb2YgdGhlIEdsb2JhbCBPYmplY3QgdW5kZXIgc3RyaWN0IG1vZGUgKE5hTikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOYU4gPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown when changing the value of a Value Property of the Global Object under strict mode (NaN)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-16-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICB3aXRoKG15T2JqKXsKICAgIHJldHVybiB4OwogIH0KfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgdmFyIHggPSAxOwogIGZ1bmN0aW9uIGYyKCl7CiAgICByZXR1cm4geDsKICB9OwogIHJldHVybiBmMigpOwp9CgppZighKGYxKCkgPT09IDEpKXsKICAkRVJST1IoIiMxOiBTY29wZSBjaGFpbiBkaXN0dXJiZWQiKTsKfQoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICB2YXIgeCA9IDE7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHdpdGgobXlPYmopewogICAgICByZXR1cm4geDsKICAgIH0KICB9OwogIHJldHVybiBmMigpOwp9CgppZighKGYxKCkgPT09ICJvYmoiKSl7CiAgJEVSUk9SKCIjMTogU2NvcGUgY2hhaW4gZGlzdHVyYmVkIik7Cn0KCg==","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CiAgcmV0dXJuIGYyKCk7Cn0KCmlmKCEoZjEoKSA9PT0gMCkpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CgogIHZhciB4ID0gMTsKICByZXR1cm4gZjIoKTsKfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CiAgcmV0dXJuIGYyKCk7Cn0KCmlmKCEoZjEoKSA9PT0gIm9iaiIpKXsKICAkRVJST1IoIiMxOiBTY29wZSBjaGFpbiBkaXN0dXJiZWQiKTsKfQoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CiAgcmV0dXJuIGYyKCk7CiAgCiAgdmFyIHggPSAxOwp9CgppZighKGYxKCkgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9CgoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CiAgcmV0dXJuIGYyKCk7CgogIHZhciB4ID0gMTsKfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CgogIHZhciB4ID0gMTsKICByZXR1cm4gZjIoKTsKfQoKaWYoIShmMSgpID09PSAxKSl7CiAgJEVSUk9SKCIjMTogU2NvcGUgY2hhaW4gZGlzdHVyYmVkIik7Cn0KCg==","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTAtYy1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzW2ldIG1hcCB0byBhY3R1YWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGZ1bmN0aW9uIGZvbyhhLGIsYykNCiAgew0KICAgIGFyZ3VtZW50c1swXSA9IDE7IGFyZ3VtZW50c1sxXSA9ICdzdHInOyBhcmd1bWVudHNbMl0gPSAyLjE7DQogICAgaWYoMSA9PT0gYSAmJiAnc3RyJyA9PT0gYiAmJiAyLjEgPT09IGMpDQogICAgICByZXR1cm4gdHJ1ZTsgICANCiAgfQ0KICByZXR1cm4gZm9vKDEwLCdzc3MnLDEpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments[i] map to actual parameter","path":"TestCases/ch10/10.6/10.6-10-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFjY2Vzc2luZyBjYWxsZWUgcHJvcGVydHkgb2YgQXJndW1lbnRzIG9iamVjdCBpcyBhbGxvd2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IA0KICB7DQogICAgYXJndW1lbnRzLmNhbGxlZTsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Accessing callee property of Arguments object is allowed","path":"TestCases/ch10/10.6/10.6-12-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTAtYy1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzW2ldIGNoYW5nZSB3aXRoIGFjdHVhbCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKGEsYixjKQ0KICB7DQogICAgYSA9IDE7IGIgPSAnc3RyJzsgYyA9IDIuMTsNCiAgICBpZihhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzWzFdID09PSAnc3RyJyAmJiBhcmd1bWVudHNbMl0gPT09IDIuMSkNCiAgICAgIHJldHVybiB0cnVlOyAgIA0KICB9DQogIHJldHVybiBmb28oMTAsJ3NzcycsMSk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments[i] change with actual parameters","path":"TestCases/ch10/10.6/10.6-10-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNi0zLmpzDQogKiBAZGVzY3JpcHRpb24gJ2xlbmd0aCcgcHJvcGVydHkgb2YgYXJndW1lbnRzIG9iamVjdCBmb3IgMCBhcmd1bWVudCBmdW5jdGlvbiBleGlzdHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgdmFyIGFyZ3VtZW50cz0gdW5kZWZpbmVkOw0KCXJldHVybiAoZnVuY3Rpb24gKCkge3JldHVybiBhcmd1bWVudHMubGVuZ3RoICE9PSB1bmRlZmluZWR9KSgpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'length' property of arguments object for 0 argument function exists","path":"TestCases/ch10/10.6/10.6-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTItMi5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50cy5jYWxsZWUgaGFzIGNvcnJlY3QgYXR0cmlidXRlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJjYWxsZWUiKTsNCiAgaWYoZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09IGZhbHNlICYmDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3B1dCcpID09IGZhbHNlKQ0KICAgIHJldHVybiB0cnVlOyAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments.callee has correct attributes","path":"TestCases/ch10/10.6/10.6-12-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTQtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAnY2FsbGVlJyBleGlzdHMgYW5kICdjYWxsZXInIGV4aXN0cyB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBhcmdPYmogPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9ICgpOw0KICAgICAgICByZXR1cm4gYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZWUiKSAmJiBhcmdPYmouaGFzT3duUHJvcGVydHkoImNhbGxlciIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - 'callee' exists and 'caller' exists under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBBcmd1bWVudHMgaXMgc2V0IHRvIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYoT2JqZWN0LmdldFByb3RvdHlwZU9mKGFyZ3VtZW50cykgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZih7fSkpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Prototype]] property of Arguments is set to Object prototype object","path":"TestCases/ch10/10.6/10.6-5-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGNvbnRyb2wgZW50ZXJzIGFuIGV4ZWN1dGlvbiBjb250ZXh0IGZvciBmdW5jdGlvbiBjb2RlLAogKiBhbiBhcmd1bWVudHMgb2JqZWN0IGlzIGNyZWF0ZWQgYW5kIGluaXRpYWxpc2VkCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0aW5nIGZ1bmN0aW9uIHdoaWNoIHVzZXMgYXJndW1lbnRzIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICB2YXIgeCA9IGYxKCk7Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpewogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICB2YXIgeCA9IGYyKCk7Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"When control enters an execution context for function code,\nan arguments object is created and initialised","description":"Executing function which uses arguments object","path":"TestCases/ch10/10.6/S10.6_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMuY2FsbGVyIGV4aXN0cyBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgJ3VzZSBzdHJpY3QnOyAgICANCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywiY2FsbGVyIik7DQogIHJldHVybiBkZXNjIT09IHVuZGVmaW5lZDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments.caller exists in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNi0yLmpzDQogKiBAZGVzY3JpcHRpb24gJ2xlbmd0aCcgcHJvcGVydHkgb2YgYXJndW1lbnRzIG9iamVjdCBoYXMgY29ycmVjdCBhdHRyaWJ1dGVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMsImxlbmd0aCIpOw0KICBpZihkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'length' property of arguments object has correct attributes","path":"TestCases/ch10/10.6/10.6-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMuY2FsbGVlIGNhbm5vdCBiZSBhY2Nlc3NlZCBpbiBhIHN0cmljdCBmdW5jdGlvbiwgYnV0IGRvZXMgbm90IHRocm93IGFuIGVhcmx5IGVycm9yDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmZ1bmN0aW9uIGZfMTBfNl8xX2dzKCl7DQogICAgcmV0dXJuIGFyZ3VtZW50cy5jYWxsZWU7DQp9DQoNCg==","commentary":"","description":"Strict Mode - arguments.callee cannot be accessed in a strict function, but does not throw an early error","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNi00LmpzDQogKiBAZGVzY3JpcHRpb24gJ2xlbmd0aCcgcHJvcGVydHkgb2YgYXJndW1lbnRzIG9iamVjdCBmb3IgMCBhcmd1bWVudCBmdW5jdGlvbiBjYWxsIGlzIDAgZXZlbiB3aXRoIGZvcm1hbCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgIHZhciBhcmd1bWVudHM9IHVuZGVmaW5lZDsNCglyZXR1cm4gKGZ1bmN0aW9uIChhLGIsYykge3JldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAwfSkoKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'length' property of arguments object for 0 argument function call is 0 even with formal parameters","path":"TestCases/ch10/10.6/10.6-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTEtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIE9iamVjdCBoYXMgaW5kZXggcHJvcGVydHkgJzAnIGFzIGl0cyBvd24gcHJvcGVydHksIGl0IHNob3VsZGUgYmUgd3JpdGFibGUsIGVudW1lcmFibGUsIGNvbmZpZ3VyYWJsZSBhbmQgZG9lcyBub3QgaW52b2tlIHRoZSBzZXR0ZXIgZGVmaW5lZCBvbiBPYmplY3QucHJvdG90eXBlWzBdIChTdGVwIDExLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzIH0pKDEpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gKGFyZ09ialswXSA9PT0gMSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMCIgJiYgYXJnT2JqLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGFyZ09ialswXSA9IDEwMDE7DQogICAgICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IChhcmdPYmpbMF0gPT09IDEwMDEpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgYXJnT2JqWzBdOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJnT2JqLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiB2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Arguments Object has index property '0' as its own property, it shoulde be writable, enumerable, configurable and does not invoke the setter defined on Object.prototype[0] (Step 11.b)","path":"TestCases/ch10/10.6/10.6-11-b-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBhcmd1bWVudHMuY2FsbGVlIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiAoZGVsZXRlIGFyZ3VtZW50cy5jYWxsZWUpOwp9Cgp0cnl7CiAgaWYoIWYxKCkpewogICAgJEVSUk9SKCIjMTogQSBwcm9wZXJ0eSBjYWxsZWUgaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmNhbGxlZSk7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGNhbGxlZSBoYXZlIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking if deleting arguments.callee property fails","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A3_T3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYi0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMuY2FsbGVyIGlzIG5vbi1jb25maWd1cmFibGUgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgIA0KICAndXNlIHN0cmljdCc7ICAgIA0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJjYWxsZXIiKTsNCiAgDQogIHJldHVybiAoZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIA0KICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIA0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCd2YWx1ZScpID09IGZhbHNlICAmJiANCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnd3JpdGFibGUnKSA9PSBmYWxzZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PSB0cnVlICYmIA0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PSB0cnVlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments.caller is non-configurable in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFjY2Vzc2luZyBjYWxsZXIgcHJvcGVydHkgb2YgQXJndW1lbnRzIG9iamVjdCBpcyBhbGxvd2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IA0KICB7DQogICAgYXJndW1lbnRzLmNhbGxlcjsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Accessing caller property of Arguments object is allowed","path":"TestCases/ch10/10.6/10.6-13-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSW4gbm9uLXN0cmljdCBtb2RlLCBhcmd1bWVudHMgb2JqZWN0IHNob3VsZCBoYXZlIGl0cyBvd24gJ2NhbGxlZScgcHJvcGVydHkgZGVmaW5lZCAoU3RlcCAxMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImNhbGxlZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHMgfSkoKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IHR5cGVvZiBhcmdPYmouY2FsbGVlID09PSAiZnVuY3Rpb24iOw0KICAgICAgICAgICAgDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGFyZ09iai5jYWxsZWUgPSAxMDAxOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoYXJnT2JqLmNhbGxlZSA9PT0gMTAwMSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiY2FsbGVlIiAmJiBhcmdPYmouaGFzT3duUHJvcGVydHkoImNhbGxlZSIpKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIGFyZ09iai5jYWxsZWU7DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcmdPYmouaGFzT3duUHJvcGVydHkoImNhbGxlZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgdmVyaWZ5V3JpdGFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgIXZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmNhbGxlZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"In non-strict mode, arguments object should have its own 'callee' property defined (Step 13.a)","path":"TestCases/ch10/10.6/10.6-13-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gJ2xlbmd0aCBwcm9wZXJ0eSBvZiBhcmd1bWVudHMgb2JqZWN0IGV4aXN0cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJsZW5ndGgiKTsNCiAgcmV0dXJuIGRlc2MgIT09IHVuZGVmaW5lZA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'length property of arguments object exists","path":"TestCases/ch10/10.6/10.6-6-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYXJndW1lbnRzLmNhbGxlZSBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImNhbGxlZSIpOwp9CnRyeXsKICBpZihmMSgpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnY2FsbGVlJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImNhbGxlZSIpO307CnRyeXsKICBpZihmMigpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzI6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnY2FsbGVlJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking existence of arguments.callee property","path":"TestCases/ch10/10.6/S10.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXQgYXJndW1lbnRzIG9mIGZ1bmN0aW9uCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BNy5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHByb3BlcnR5IGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIGYxKCkgewogIHJldHVybiBhcmd1bWVudHM7Cn0KICAKLy9DSEVDSyMxLTUKZm9yKHZhciBpID0gMTsgaSA8IDU7IGkrKyl7ICAKaWYgKGYxKDEsMiwzLDQsNSlbaV0gIT09IChpKzEpKQogICRFUlJPUigiIyIraSsiOiBSZXR1cm5pbmcgZnVuY3Rpb24ncyBhcmd1bWVudHMgd29yayB3cm9uZywgZjEoMSwyLDMsNCw1KVsiK2krIl0gIT09ICIrKGkrMSkpOwp9Cgo=","commentary":"Get arguments of function","description":"Use property arguments","path":"TestCases/ch10/10.6/S10.6_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBhcmd1bWVudHMubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmxlbmd0aCk7IAp9Cgp0cnl7CiAgaWYoIWYxKCkpewogICAgJEVSUk9SKCIjMTogQSBwcm9wZXJ0eSBsZW5ndGggaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmxlbmd0aCk7IAp9Cgp0cnl7CiAgaWYoIWYyKCkpewogICAgJEVSUk9SKCIjMjogQSBwcm9wZXJ0eSBsZW5ndGggaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking if deleting arguments.length property fails","path":"TestCases/ch10/10.6/S10.6_A5_T3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTQtYy00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBhY2Nlc3NpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIGluICdjYWxsZWUnIHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSAoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJnT2JqLmNhbGxlZSA9IHt9Ow0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown when accessing the [[Set]] attribute in 'callee' under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-c-4-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIGZvcih2YXIgeCBpbiBhcmd1bWVudHMpewogICAgaWYgKHggPT09ICJsZW5ndGgiKXsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KICByZXR1cm4gdHJ1ZTsKfQoKdHJ5ewogIGlmKCFmMSgpKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgbGVuZ3RoIGRvbid0IGhhdmUgYXR0cmlidXRlIHsgRG9udEVudW0gfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICBmb3IodmFyIHggaW4gYXJndW1lbnRzKXsKICAgIGlmICh4ID09PSAibGVuZ3RoIil7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgcmV0dXJuIHRydWU7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGxlbmd0aCBkb24ndCBoYXZlIGF0dHJpYnV0ZSB7IERvbnRFbnVtIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking if enumerating the arguments.length property fails","path":"TestCases/ch10/10.6/S10.6_A5_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTAtYy1paS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHNbaV0gZG9lc24ndCBtYXAgdG8gYWN0dWFsIHBhcmFtZXRlcnMgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGZ1bmN0aW9uIGZvbyhhLGIsYykNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsgICAgDQogICAgYXJndW1lbnRzWzBdID0gMTsgYXJndW1lbnRzWzFdID0gJ3N0cic7IGFyZ3VtZW50c1syXSA9IDIuMTsNCiAgICByZXR1cm4gMTAgPT09IGEgJiYgJ3NzcycgPT09IGIgJiYgMSA9PT0gYzsNCiAgfQ0KICByZXR1cm4gZm9vKDEwLCdzc3MnLDEpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments[i] doesn't map to actual parameters in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-10-c-ii-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTAtYy1paS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHNbaV0gcmVtYWlucyBzYW1lIGFmdGVyIGNoYW5naW5nIGFjdHVhbCBwYXJhbWV0ZXJzIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbyhhLGIsYykNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICBhID0gMTsgYiA9ICdzdHInOyBjID0gMi4xOw0KICAgIHJldHVybiAoYXJndW1lbnRzWzBdID09PSAxMCAmJiBhcmd1bWVudHNbMV0gPT09ICdzc3MnICYmIGFyZ3VtZW50c1syXSA9PT0gMSk7DQogIH0NCiAgcmV0dXJuIGZvbygxMCwgJ3NzcycsIDEpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments[i] remains same after changing actual parameters in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-10-c-ii-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBY2Nlc3NpbmcgY2FsbGVyIHByb3BlcnR5IG9mIEFyZ3VtZW50cyBvYmplY3QgdGhyb3dzIFR5cGVFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIHRyeSANCiAgew0KICAgIGFyZ3VtZW50cy5jYWxsZXI7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Accessing caller property of Arguments object throws TypeError in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-1-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkaW5nIGFyZ3VtZW50cy5sZW5ndGggcHJvcGVydHkKICovCgp2YXIgc3RyID0gInNvbWV0aGluZyBkaWZmZXJlbnQiOwovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICBhcmd1bWVudHMubGVuZ3RoID0gc3RyOwogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICBpZihmMSgpLmxlbmd0aCAhPT0gc3RyKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgbGVuZ3RoIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICAgIGFyZ3VtZW50cy5sZW5ndGggPSBzdHI7CiAgICByZXR1cm4gYXJndW1lbnRzOwogIH07CnRyeXsKICBpZihmMigpLmxlbmd0aCAhPT0gc3RyKXsKICAgICRFUlJPUigiIzI6IEEgcHJvcGVydHkgbGVuZ3RoIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Overriding arguments.length property","path":"TestCases/ch10/10.6/S10.6_A5_T4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQW4gaW5kaXJlY3QgY2FsbCB0byBhcmd1bWVudHMuY2FsbGVlLmNhbGxlciBzaG91bGQgd29yaw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGNhbGxlZCA9IGZhbHNlOw0KICAgIA0KICAgIGZ1bmN0aW9uIHRlc3QxKGZsYWcpIHsNCiAgICAgICAgaWYgKGZsYWchPT10cnVlKSB7DQogICAgICAgICAgICB0ZXN0MigpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHRlc3QyKCkgeyAgDQogICAgICAgaWYgKGFyZ3VtZW50cy5jYWxsZWUuY2FsbGVyPT09dW5kZWZpbmVkKSB7DQogICAgICAgICBjYWxsZWQgPSB0cnVlOyAgLy9FeHRlbnNpb24gbm90IHN1cHBvcnRlZCAtIGZha2UgaXQNCiAgICAgICB9IGVsc2UgeyAgICAgDQogICAgICAgICB2YXIgZXhwbGljaXQgPSBhcmd1bWVudHMuY2FsbGVlLmNhbGxlcjsNCiAgICAgICAgIGV4cGxpY2l0KHRydWUpOw0KICAgICAgIH0NCiAgICB9DQogICAgDQogICAgdGVzdDEoKTsNCiAgICByZXR1cm4gY2FsbGVkOyAgIA0KfQ0KDQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"An indirect call to arguments.callee.caller should work","path":"TestCases/ch10/10.6/10.6-13-a-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgY3JlYXRlZCBwcm9wZXJ0eSBsZW5ndGggaXMgdGhlIG51bWJlcgogKiBvZiBhY3R1YWwgcGFyYW1ldGVyIHZhbHVlcyBzdXBwbGllZCBieSB0aGUgY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGZ1bmN0aW9uLCB0aGF0IHJldHVybmVkIGFyZ3VtZW50cy5sZW5ndGgKICovCgpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMubGVuZ3RoOwp9CgovL0NIRUNLIzEKaWYoIShmMSgpID09PSAwKSl7CiAgJEVSUk9SKCcjMTogYXJndW1lbnQubGVuZ3RoID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgppZighKGYxKDApID09PSAxKSl7CiAgJEVSUk9SKCcjMjogYXJndW1lbnQubGVuZ3RoID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMwppZighKGYxKDAsIDEpID09PSAyKSl7CiAgJEVSUk9SKCcjMzogYXJndW1lbnQubGVuZ3RoID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNAppZighKGYxKDAsIDEsIDIpID09PSAzKSl7CiAgJEVSUk9SKCcjNDogYXJndW1lbnQubGVuZ3RoID09PSAzJyk7Cn0KCi8vQ0hFQ0sjNQppZighKGYxKDAsIDEsIDIsIDMpID09PSA0KSl7CiAgJEVSUk9SKCcjNTogYXJndW1lbnQubGVuZ3RoID09PSA0Jyk7Cn0KCnZhciBmMiA9IGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsKCi8vQ0hFQ0sjNgppZighKGYyKCkgPT09IDApKXsKICAkRVJST1IoJyM2OiBhcmd1bWVudC5sZW5ndGggPT09IDAnKTsKfQoKLy9DSEVDSyM3CmlmKCEoZjIoMCkgPT09IDEpKXsKICAkRVJST1IoJyM3OiBhcmd1bWVudC5sZW5ndGggPT09IDEnKTsKfQoKLy9DSEVDSyM4CmlmKCEoZjIoMCwgMSkgPT09IDIpKXsKICAkRVJST1IoJyM4OiBhcmd1bWVudC5sZW5ndGggPT09IDInKTsKfQoKLy9DSEVDSyM5CmlmKCEoZjIoMCwgMSwgMikgPT09IDMpKXsKICAkRVJST1IoJyM5OiBhcmd1bWVudC5sZW5ndGggPT09IDMnKTsKfQoKLy9DSEVDSyMxMAppZighKGYyKDAsIDEsIDIsIDMpID09PSA0KSl7CiAgJEVSUk9SKCcjMTA6IGFyZ3VtZW50Lmxlbmd0aCA9PT0gNCcpOwp9Cgo=","commentary":"The initial value of the created property length is the number\nof actual parameter values supplied by the caller","description":"Create function, that returned arguments.length","path":"TestCases/ch10/10.6/S10.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlCiAqIGNyZWF0ZWQgYXJndW1lbnRzIG9iamVjdCBpcyB0aGUgb3JpZ2luYWwgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUKICogdGhhdCBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZT09PU9iamVjdC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZTsKfQp0cnl7CiAgaWYoZjEoKSAhPT0gT2JqZWN0LnByb3RvdHlwZSl7CiAgICAkRVJST1IoJyMxOiBhcmd1bWVudHMuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzE6IGFyZ3VtZW50cyBkb2Vzbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZTt9Owp0cnl7CiAgaWYoZjIoKSAhPT0gT2JqZWN0LnByb3RvdHlwZSl7CiAgICAkRVJST1IoJyMyOiBhcmd1bWVudHMuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzI6IGFyZ3VtZW50cyBkb2Vzbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the\ncreated arguments object is the original Object prototype object, the one\nthat is the initial value of Object.prototype","description":"Checking arguments.constructor.prototype===Object.prototype","path":"TestCases/ch10/10.6/S10.6_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTQtYi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBpbiAnY2FsbGVyJyBpcyBmYWxzZSB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0gKCk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgXzEwXzZfMTRfYl8xIGluIGFyZ09iaikgew0KICAgICAgICAgICAgaWYgKGFyZ09iai5oYXNPd25Qcm9wZXJ0eShfMTBfNl8xNF9iXzEpICYmIF8xMF82XzE0X2JfMSA9PT0gImNhbGxlciIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIXZlcmlmeUVudW1lcmFibGUgJiYgYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZXIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - [[Enumerable]] attribute value in 'caller' is false under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTQtYy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBpbiAnY2FsbGVlJyBpcyBmYWxzZSB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0gKCk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgXzEwXzZfMTRfY18xIGluIGFyZ09iaikgew0KICAgICAgICAgICAgaWYgKGFyZ09iai5oYXNPd25Qcm9wZXJ0eShfMTBfNl8xNF9jXzEpICYmIF8xMF82XzE0X2NfMSA9PT0gImNhbGxlZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIXZlcmlmeUVudW1lcmFibGUgJiYgYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - [[Enumerable]] attribute value in 'callee' is false under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQSBkaXJlY3QgY2FsbCB0byBhcmd1bWVudHMuY2FsbGVlLmNhbGxlciBzaG91bGQgd29yaw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGNhbGxlZCA9IGZhbHNlOw0KICAgIA0KICAgIGZ1bmN0aW9uIHRlc3QxKGZsYWcpIHsNCiAgICAgICAgaWYgKGZsYWchPT10cnVlKSB7DQogICAgICAgICAgICB0ZXN0MigpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHRlc3QyKCkgew0KICAgICAgICBpZihhcmd1bWVudHMuY2FsbGVlLmNhbGxlcj09PXVuZGVmaW5lZCkgew0KICAgICAgICAgIGNhbGxlZD10cnVlOyAvLyBFeHRlbnNpb24gbm90IHN1cHBvcnRlZCAtIGZha2UgaXQNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBhcmd1bWVudHMuY2FsbGVlLmNhbGxlcih0cnVlKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICANCiAgICB0ZXN0MSgpOw0KICAgIHJldHVybiBjYWxsZWQ7ICAgDQp9DQoNCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"A direct call to arguments.callee.caller should work","path":"TestCases/ch10/10.6/10.6-13-a-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOwp9CnRyeXsKICBpZihmMSgpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnbGVuZ3RoJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpO307CnRyeXsKICBpZihmMigpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzI6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnbGVuZ3RoJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking existence of arguments.length property","path":"TestCases/ch10/10.6/S10.6_A5_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMuY2FsbGVlIGNhbm5vdCBiZSBhY2Nlc3NlZCBpbiBhIHN0cmljdCBmdW5jdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSAuDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZl8xMF82XzFfZ3MoKXsNCiAgICByZXR1cm4gYXJndW1lbnRzLmNhbGxlZTsNCn0NCmZfMTBfNl8xX2dzKCk7DQoNCg==","commentary":"","description":"Strict Mode - arguments.callee cannot be accessed in a strict function","negative":".","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIE9iamVjdCBoYXMgbGVuZ3RoIGFzIGl0cyBvd24gcHJvcGVydHkgYW5kIGRvZXMgbm90IGludm9rZSB0aGUgc2V0dGVyIGRlZmluZWQgb24gT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggKFN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50cyB9KSgpOw0KICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSAoYXJnT2JqLmxlbmd0aCA9PT0gMCk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgYXJnT2JqLmxlbmd0aCA9IDEwMDE7DQogICAgICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IChhcmdPYmoubGVuZ3RoID09PSAxMDAxKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gYXJnT2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIGFyZ09iai5sZW5ndGg7DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcmdPYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgdmVyaWZ5V3JpdGFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgIXZlcmlmeUNvbmZpZ3VyYWJsZSAmJiBkYXRhID09PSAiZGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Arguments Object has length as its own property and does not invoke the setter defined on Object.prototype.length (Step 7)","path":"TestCases/ch10/10.6/10.6-7-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgY3JlYXRlZCBwcm9wZXJ0eSBjYWxsZWUgaXMgdGhlCiAqIEZ1bmN0aW9uIG9iamVjdCBiZWluZyBleGVjdXRlZAogKgogKiBAcGF0aCBjaDEwLzEwLjYvUzEwLjZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoYXQgYXJndW1lbnRzLmNhbGxlZSA9PT0gZnVuY3Rpb24gb2JqZWN0CiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuY2FsbGVlOwp9Cgp0cnl7CiAgaWYoZjEgIT09IGYxKCkpewogICAgJEVSUk9SKCcjMTogYXJndW1lbnRzLmNhbGxlZSA9PT0gZjEnKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb2Vzbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmNhbGxlZTt9OwoKdHJ5ewogIGlmKGYyICE9PSBmMigpKXsKICAgICRFUlJPUignIzI6IGFyZ3VtZW50cy5jYWxsZWUgPT09IGYyJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBleGlzdHMiKTsKfQoK","commentary":"The initial value of the created property callee is the\nFunction object being executed","description":"Checking that arguments.callee === function object","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYy0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMuY2FsbGVlIGlzIGV4aXN0cyBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgJ3VzZSBzdHJpY3QnOyAgICANCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywiY2FsbGVlIik7DQogIHJldHVybiBkZXNjICE9PSB1bmRlZmluZWQ7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments.callee is exists in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBY2Nlc3NpbmcgY2FsbGVlIHByb3BlcnR5IG9mIEFyZ3VtZW50cyBvYmplY3QgdGhyb3dzIFR5cGVFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIHRyeSANCiAgew0KICAgIGFyZ3VtZW50cy5jYWxsZWU7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Accessing callee property of Arguments object throws TypeError in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYy0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMuY2FsbGVlIGlzIG5vbi1jb25maWd1cmFibGUgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogICd1c2Ugc3RyaWN0JzsgICAgDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMsImNhbGxlZSIpOw0KICByZXR1cm4gKGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykgPT0gZmFsc2UgJiYNCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnd3JpdGFibGUnKSA9PSBmYWxzZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PSB0cnVlICYmDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09IHRydWUpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments.callee is non-configurable in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgYXJndW1lbnRzLmNhbGxlZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIGZvcih2YXIgeCBpbiBhcmd1bWVudHMpewogICAgaWYgKHggPT09ICJjYWxsZWUiKXsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KICByZXR1cm4gdHJ1ZTsKfQoKdHJ5ewogIGlmKCFmMSgpKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgY2FsbGVlIGRvbid0IGhhdmUgYXR0cmlidXRlIHsgRG9udEVudW0gfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICBmb3IodmFyIHggaW4gYXJndW1lbnRzKXsKICAgIGlmICh4ID09PSAiY2FsbGVlIil7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgcmV0dXJuIHRydWU7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGNhbGxlZSBkb24ndCBoYXZlIGF0dHJpYnV0ZSB7IERvbnRFbnVtIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking if enumerating the arguments.callee property fails","path":"TestCases/ch10/10.6/S10.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkaW5nIGFyZ3VtZW50cy5jYWxsZWUgcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdmFyIHN0ciA9ICJzb21ldGhpbmcgZGlmZmVyZW50IjsKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgYXJndW1lbnRzLmNhbGxlZSA9IHN0cjsKICByZXR1cm4gYXJndW1lbnRzOwp9Cgp0cnl7CiAgaWYoZjEoKS5jYWxsZWUgIT09IHN0cil7CiAgICAkRVJST1IoIiMxOiBBIHByb3BlcnR5IGNhbGxlZSBoYXZlIGF0dHJpYnV0ZSB7IFJlYWRPbmx5IH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgICBhcmd1bWVudHMuY2FsbGVlID0gc3RyOwogICAgcmV0dXJuIGFyZ3VtZW50czsKICB9CnRyeXsKICBpZihmMigpLmNhbGxlZSAhPT0gc3RyKXsKICAgICRFUlJPUigiIzI6IEEgcHJvcGVydHkgY2FsbGVlIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Overriding arguments.callee property","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A3_T4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTQtYi00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBhY2Nlc3NpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIGluICdjYWxsZXInIHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSAoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJnT2JqLmNhbGxlciA9IHt9Ow0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown when accessing the [[Set]] attribute in 'caller' under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-b-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtNy1iLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gQWRkaW5nIHByb3BlcnR5IHRvIHRoZSBhcmd1bWVudHMgb2JqZWN0IHN1Y2Nlc3NmdWwgdW5kZXIgc3RyaWN0IG1vZGUgDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICBmdW5jdGlvbiBfMTBfNV83X2JfM19mdW4oKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbMV0gPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbMF0gPSAzMCAmJiBhcmd1bWVudHNbMV0gPT09IDEyOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBfMTBfNV83X2JfM19mdW4oMzApOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Adding property to the arguments object successful under strict mode","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtNy1iLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRGVsZXRpbmcgcHJvcGVydHkgb2YgdGhlIGFyZ3VtZW50cyBvYmplY3Qgc3VjY2Vzc2Z1bCB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgZnVuY3Rpb24gXzEwXzVfN19iXzRfZnVuKCkgew0KICAgICAgICAgICAgdmFyIF8xMF81XzdfYl80XzEgPSBhcmd1bWVudHNbMF0gPT09IDMwICYmIGFyZ3VtZW50c1sxXSA9PT0gMTI7DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzFdOw0KICAgICAgICAgICAgdmFyIF8xMF81XzdfYl80XzIgPSBhcmd1bWVudHNbMF0gPT09IDMwICYmIHR5cGVvZiBhcmd1bWVudHNbMV0gPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgcmV0dXJuIF8xMF81XzdfYl80XzEgJiYgXzEwXzVfN19iXzRfMjsNCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIF8xMF81XzdfYl80X2Z1bigzMCwgMTIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Deleting property of the arguments object successful under strict mode","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtNy1iLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gYXJndW1lbnRzIG9iamVjdCBpcyBpbW11dGFibGUgaW4gZXZhbCdlZCBmdW5jdGlvbnMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIoZnVuY3Rpb24gXzEwXzVfN19iXzFfZnVuKCkgeyBhcmd1bWVudHMgPSAxMDt9ICgpKTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - arguments object is immutable in eval'ed functions","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMgY2Fubm90IGJlIGFzc2lnbmVkIHRvIGluIGEgc3RyaWN0IGZ1bmN0aW9uDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCg0KZnVuY3Rpb24gZl8xMF81XzFfZ3MoKXsNCiAgICBhcmd1bWVudHMgPSA3Ow0KfQ0KDQo=","commentary":"","description":"Strict Mode - arguments cannot be assigned to in a strict function","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtNy1iLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gYXJndW1lbnRzIG9iamVjdCBpbmRleCBhc3NpZ25tZW50IGlzIGFsbG93ZWQNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIGZ1bmN0aW9uIF8xMF81XzdfYl8yX2Z1bigpIHsNCiAgICAgICAgICAgIGFyZ3VtZW50c1s3XSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1s3XSA9PT0gMTI7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIF8xMF81XzdfYl8yX2Z1bigzMCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - arguments object index assignment is allowed","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMgb2JqZWN0IGlzIGltbXV0YWJsZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgICAgIGV2YWwoImFyZ3VtZW50cyA9IDEwIik7DQogICAgICAgICAgICB9KSgzMCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - arguments object is immutable","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-1-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmdW50aW9uIHdoaWNoIHJldHVybnMgcHJvcGVydHkgImFyZ3VtZW50cyIKICovCgp2YXIgQVJHX1NUUklORyA9ICJ2YWx1ZSBvZiB0aGUgYXJndW1lbnQgcHJvcGVydHkiOwoKZnVuY3Rpb24gZjEoKSB7CiAgdGhpcy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuYXJndW1lbnRzID0gQVJHX1NUUklORzsKICByZXR1cm4gYXJndW1lbnRzOwp9CiAgCi8vQ0hFQ0sjMQppZiAoKG5ldyBmMSgxLDIsMyw0LDUpKS5sZW5ndGggIT09IDUpCiAgJEVSUk9SKCcjMTogKG5ldyBmMSgxLDIsMyw0LDUpKS5sZW5ndGg9PT01LCB3aGVyZSBmMSByZXR1cm5zICJhcmd1bWVudHMiIHRoYXQgaXMgc2V0IHRvICInKyBBUkdfU1RSSU5HICsgJyInKTsKCi8vQ0hFQ0sjMiAgCmlmICgobmV3IGYxKDEsMiwzLDQsNSkpWzNdICE9PSA0KQogICRFUlJPUignIzI6IChuZXcgZjEoMSwyLDMsNCw1KSlbM109PT00LCB3aGVyZSBmMSByZXR1cm5zICJhcmd1bWVudHMiIHRoYXQgaXMgc2V0IHRvICInKyBBUkdfU1RSSU5HICsgJyInKTsKCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBmMSgxLDIsMyw0LDUpOyAKaWYgKGRlbGV0ZSB4WzNdICE9PSB0cnVlKQogICRFUlJPUignIzMuMTogRnVuY3Rpb24gcGFyYW1ldGVycyBoYXZlIGF0dHJpYnV0ZSB7RG9udERlbGV0ZX0nKTsKICAKaWYgKHhbM10gPT09IDQpCiAgJEVSUk9SKCcjMy4yOiBGdW5jdGlvbiBwYXJhbWV0ZXJzIGhhdmUgYXR0cmlidXRlIHtEb250RGVsZXRlfScpOwoK","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking funtion which returns property \"arguments\"","path":"TestCases/ch10/10.1/S10.1.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBmdW5jdGlvbiBwYXJhbWV0ZXIgaXMgcG9zc2libGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKGEpewogIGRlbGV0ZSBhOwogIHJldHVybiBhOwp9CmlmIChmMSgxKSAhPT0gMSkKICAkRVJST1IoJyMxOiBGdW5jdGlvbiBwYXJhbWV0ZXIgd2FzIGRlbGV0ZWQnKTsKCgo=","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking if deleting function parameter is possible","noStrict":"","path":"TestCases/ch10/10.1/S10.1.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWZpbmluZyBmdW5jdGlvbiBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24KICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gMTsKfQppZih0eXBlb2YoZjEpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMxOiB0eXBlb2YoZjEpIT09ImZ1bmN0aW9uIicpOwoK","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Defining function by a FunctionDeclaration","path":"TestCases/ch10/10.1/S10.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdGhpcyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYW4gZXhlY3V0aW9uY29udGV4dCBpcyBpbW11dGFibGUKICoKICogQHBhdGggY2gxMC8xMC4xL1MxMC4xLjdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nICJ0aGlzIiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIHRoaXMgIT09IHRydWUpCiAgJEVSUk9SKCcjMTogVGhlIHRoaXMgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGFuIGV4ZWN1dGlvbmNvbnRleHQgaXMgaW1tdXRhYmxlLiBBY3R1YWw6IHRoaXMgd2FzIGRlbGV0ZWQnKTsKICAKCg==","commentary":"The this value associated with an executioncontext is immutable","description":"Checking if deleting \"this\" fails","path":"TestCases/ch10/10.1/S10.1.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIEZ1bmN0aW9uIG9iamVjdHMuIEludGVybmFsIGZ1bmN0aW9ucwogKiBhcmUgYnVpbHQtaW4gb2JqZWN0cyBvZiB0aGUgbGFuZ3VhZ2UsIHN1Y2ggYXMgcGFyc2VJbnQgYW5kIE1hdGguZXhwCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlcyBvZiBwYXJzZUludCBhbmQgTWF0aC5leHAKICovCgovL0NIRUNLIzEKaWYodHlwZW9mKE1hdGguZXhwKSE9PSJmdW5jdGlvbiIpCiAgJEVSUk9SKCcjMTogdHlwZW9mKE1hdGguZXhwKDEwKSkhPT0iZnVuY3Rpb24iICcrdHlwZW9mKE1hdGguZXhwKCkpKTsKCi8vQ0hFQ0sjMgppZih0eXBlb2YocGFyc2VJbnQpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMyOiB0eXBlb2YocGFyc2VJbnQoKSkhPT0iZnVuY3Rpb24iICcrdHlwZW9mKHBhcnNlSW50KCkpKTsKICAKCg==","commentary":"There are two types of Function objects. Internal functions\nare built-in objects of the language, such as parseInt and Math.exp","description":"Checking types of parseInt and Math.exp","path":"TestCases/ch10/10.1/S10.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmdW5jdGlvbiB3aGljaCByZXR1cm5zICJ0aGlzIgogKiBAbm9TdHJpY3QKICovCgpmdW5jdGlvbiBmMSgpIHsKICBpZiAoZGVsZXRlIGFyZ3VtZW50cykgewogICAgJEVSUk9SKCIjMTogRnVuY3Rpb24gcGFyYW1ldGVycyBoYXZlIGF0dHJpYnV0ZSB7RG9udERlbGV0ZX0iICsgYXJndW1lbnRzKTsKICB9CiAgcmV0dXJuIGFyZ3VtZW50czsKfQoKZjEoKTsKCg==","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking function which returns \"this\"","noStrict":"","path":"TestCases/ch10/10.1/S10.1.6_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbiBkeW5hbWljYWxseSBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbgogKi8KCi8vQ0hFQ0sjMQp2YXIgeD1mdW5jdGlvbiBmMSgpe3JldHVybiAxO30oKTsKaWYoeCE9PTEpCiAgJEVSUk9SKCcjMTogQ3JlYXRlIGZ1bmN0aW9uIGR5bmFtaWNhbGx5IGVpdGhlciBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbicpOwoKLy9DSEVDSyMyCnZhciB5PWZ1bmN0aW9uICAoKXtyZXR1cm4gMjt9KCk7CmlmKHkhPT0yKXsKICAkRVJST1IoJyMyOiBDcmVhdGUgYW4gYW5vbnltb3VzIGZ1bmN0aW9uIGR5bmFtaWNhbGx5IGVpdGhlciBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbicpOwp9CgovL0NIRUNLIzIKdmFyIHogPSAoZnVuY3Rpb24oKXtyZXR1cm4gMzt9KSgpOwppZih6IT09Myl7CiAgJEVSUk9SKCcjMzogQ3JlYXRlIGFuIGFub255bW91cyBmdW5jdGlvbiBkeW5hbWljYWxseSBlaXRoZXIgYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gd3JhcHBlZCBpbiBhIGdyb3VwIG9wZXJhdG9yJyk7Cn0KCg==","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Creating function dynamically by using a FunctionExpression","path":"TestCases/ch10/10.1/S10.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbiBkeW5hbWljYWxseSBieSB1c2luZyB0aGUgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0IGFzIGEgY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKdmFyIHg9bmV3IGZ1bmN0aW9uIGYxKCl7cmV0dXJuIDE7fTsKaWYodHlwZW9mKHguY29uc3RydWN0b3IpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMxOiB0eXBlb2YoeC5jb25zdHJ1Y3RvcikhPT0iZnVuY3Rpb24iJyk7Cgo=","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Creating function dynamically by using the built-in Function object as a constructor","path":"TestCases/ch10/10.1/S10.1.1_A1_T3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyB0d2ljZSBpbiB0aGUgZGlyZWN0aXZlIHByb2xvZ3VlDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears twice in the directive prologue","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAndXNlICBzdHJpY3QnOyB3aGljaCBjb250YWlucyB0d28gc3BhY2UgYmV0d2VlbiAndXNlJyBhbmQgJ3N0cmljdCcNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2UgIHN0cmljdCI7DQogICAgICAgIHZhciBwdWJsaWMgPSAxOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is 'use strict'; which contains two space between 'use' and 'strict'","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgYmxvY2sNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgImV2YWwoJ3B1YmxpYyA9IDE7Jyk7ICd1c2Ugc3RyaWN0JzsgYW5vdGhlclZhcmlhYmxlID0gMjsiKTsNCiAgICAgICAgZnVuT2JqKCk7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgYW5vdGhlclZhcmlhYmxlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyB0d2ljZSBpbiB0aGUgY29kZQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIHB1YmxpYyA9IDE7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears twice in the code","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-8gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the beginning of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrKGdldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiYWNjUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB0ZW1wID0gb2JqLmFjY1Byb3BlcnR5ID09PSAxMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the start of the block(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBGdW5jdGlvbkV4cHJlc3Npb24gaXMgc3RyaWN0IGZ1bmN0aW9uIGNvZGUgaWYgRnVuY3Rpb25FeHByZXNzaW9uIGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0DQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code that is part of a FunctionExpression is strict function code if FunctionExpression is contained in use strict","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnJyB3aGljaCBsb3N0IHRoZSBsYXN0IGNoYXJhY3RlciAnOycNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiDQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIHB1YmxpYyA9IDE7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict'' which lost the last character ';'","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jayhzZXR0ZXIpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdmFyIF8xMF8xXzFfMjhfcyA9IHthOjEsIGE6Mn07DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICByZXR1cm4gZGF0YT09PSJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the end of the block(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVXNlIFN0cmljdCBEaXJlY3RpdmUgUHJvbG9ndWUgaXMgJydVU0UgU1RSSUNUJzsnIGluIHdoaWNoIGFsbCBjaGFyYWN0ZXJzIGFyZSB1cHBlcmNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJVU0UgU1RSSUNUIjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''USE STRICT';' in which all characters are uppercase","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGlzIHN0cmljdCBmdW5jdGlvbiBjb2RlIGlmIEZ1bmN0aW9uRGVjbGFyYXRpb24gaXMgY29udGFpbmVkIGluIHVzZSBzdHJpY3QNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsiKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code that is part of a FunctionDeclaration is strict function code if FunctionDeclaration is contained in use strict","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVGhlIGNhbGwgdG8gZXZhbCBmdW5jdGlvbiBpcyBjb250YWluZWQgaW4gYSBTdHJpY3QgTW9kZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgJ3VzZSBzdHJpY3QnOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - The call to eval function is contained in a Strict Mode block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgaXMgaW4gU3RyaWN0IE1vZGUgaWYgQWNjZXNzb3IgUHJvcGVydHlBc3NpZ25tZW50IGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0KGdldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgicHVibGljID0gMTsiKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVtcCA9IG9iai5hY2NQcm9wZXJ0eSA9PT0gMTE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code that is part of a Accessor PropertyAssignment is in Strict Mode if Accessor PropertyAssignment is contained in use strict(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jayhnZXR0ZXIpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGV2YWwoInB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmouYWNjUHJvcGVydHkgPT09IDExICYmIHB1YmxpYyA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears in the middle of the block(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBjb2RlIHdpdGggYSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIHB1YmxpYyA9IDE7IHZhciBhbm90aGVyVmFyaWFibGVOb3RSZXNlcnZlV29yZCA9IDI7Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiB0eXBlb2YgcHVibGljID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgICAgIHR5cGVvZiBhbm90aGVyVmFyaWFibGVOb3RSZXNlcnZlV29yZCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Eval code is strict code with a Use Strict Directive at the beginning of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QgJzsnIHdoaWNoIHRoZSBsYXN0IGNoYXJhY3RlciBpcyBzcGFjZQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QgIjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict ';' which the last character is space","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0IGNvZGUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IG5ldyBGdW5jdGlvbigiYSIsICJldmFsKCdwdWJsaWMgPSAxOycpOyIpOw0KICAgICAgICBmdW5PYmooKTsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - The built-in Function constructor is contained in use strict code","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBldmFsIGNvZGUgd2l0aCBhIFVzZSBTdHJpY3QgRGlyZWN0aXZlIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsgJ3VzZSBzdHJpY3QnOyB2YXIgYW5vdGhlclZhcmlhYmxlTm90UmVzZXJ2ZVdvcmQgPSAyOyIpOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxICYmIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Eval code is strict eval code with a Use Strict Directive in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGludGVyZmFjZSA9IDI7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgaW50ZXJmYWNlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ1VzZSBzdHJpY3QnOycgaW4gd2hpY2ggdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB1cHBlcmNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJVc2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''Use strict';' in which the first character is uppercase","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJyB1c2Ugc3RyaWN0JzsnIHdoaWNoIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgc3BhY2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICIgdXNlIHN0cmljdCI7DQogICAgICAgIHZhciBwdWJsaWMgPSAxOw0KDQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is '' use strict';' which the first character is space","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgaXMgaW4gU3RyaWN0IE1vZGUgaWYgQWNjZXNzb3IgUHJvcGVydHlBc3NpZ25tZW50IGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0KHNldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImFjY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code that is part of a Accessor PropertyAssignment is in Strict Mode if Accessor PropertyAssignment is contained in use strict(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgImV2YWwoJ3B1YmxpYyA9IDE7Jyk7IGFub3RoZXJWYXJpYWJsZSA9IDI7ICd1c2Ugc3RyaWN0JzsiKTsNCiAgICAgICAgZnVuT2JqKCk7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgYW5vdGhlclZhcmlhYmxlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnJyB3aGljaCBsb3N0IHRoZSBsYXN0IGNoYXJhY3RlciAnOycNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0Ig0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict'' which lost the last character ';'","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGNvZGUNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCnZhciBwdWJsaWMgPSAxOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the start of the code","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBldmFsIGNvZGUgd2l0aCBhIFVzZSBTdHJpY3QgRGlyZWN0aXZlIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsgdmFyIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID0gMjsgJ3VzZSBzdHJpY3QnOyIpOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxICYmIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Eval code is strict eval code with a Use Strict Directive at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgYmxvY2sNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgIid1c2Ugc3RyaWN0JzsgZXZhbCgncHVibGljID0gMTsnKTsiKTsNCiAgICAgICAgICAgIGZ1bk9iaigpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrKHNldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the start of the block(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-26-s.js"}]}} \ No newline at end of file
+{"testsCollection":{"name":"Chapter - ch10","numTests":"372","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWZpbmluZyBmdW5jdGlvbiBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24KICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gMTsKfQppZih0eXBlb2YoZjEpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMxOiB0eXBlb2YoZjEpIT09ImZ1bmN0aW9uIicpOwoK","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Defining function by a FunctionDeclaration","path":"TestCases/ch10/10.1/S10.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbiBkeW5hbWljYWxseSBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbgogKi8KCi8vQ0hFQ0sjMQp2YXIgeD1mdW5jdGlvbiBmMSgpe3JldHVybiAxO30oKTsKaWYoeCE9PTEpCiAgJEVSUk9SKCcjMTogQ3JlYXRlIGZ1bmN0aW9uIGR5bmFtaWNhbGx5IGVpdGhlciBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbicpOwoKLy9DSEVDSyMyCnZhciB5PWZ1bmN0aW9uICAoKXtyZXR1cm4gMjt9KCk7CmlmKHkhPT0yKXsKICAkRVJST1IoJyMyOiBDcmVhdGUgYW4gYW5vbnltb3VzIGZ1bmN0aW9uIGR5bmFtaWNhbGx5IGVpdGhlciBieSB1c2luZyBhIEZ1bmN0aW9uRXhwcmVzc2lvbicpOwp9CgovL0NIRUNLIzIKdmFyIHogPSAoZnVuY3Rpb24oKXtyZXR1cm4gMzt9KSgpOwppZih6IT09Myl7CiAgJEVSUk9SKCcjMzogQ3JlYXRlIGFuIGFub255bW91cyBmdW5jdGlvbiBkeW5hbWljYWxseSBlaXRoZXIgYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gd3JhcHBlZCBpbiBhIGdyb3VwIG9wZXJhdG9yJyk7Cn0KCg==","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Creating function dynamically by using a FunctionExpression","path":"TestCases/ch10/10.1/S10.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9ncmFtIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzb3VyY2UgdGV4dCBieSBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gb3IgY3JlYXRlZCBkeW5hbWljYWxseSBlaXRoZXIKICogYnkgdXNpbmcgYSBGdW5jdGlvbkV4cHJlc3Npb24gb3IgYnkgdXNpbmcgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbiBkeW5hbWljYWxseSBieSB1c2luZyB0aGUgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0IGFzIGEgY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKdmFyIHg9bmV3IGZ1bmN0aW9uIGYxKCl7cmV0dXJuIDE7fTsKaWYodHlwZW9mKHguY29uc3RydWN0b3IpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMxOiB0eXBlb2YoeC5jb25zdHJ1Y3RvcikhPT0iZnVuY3Rpb24iJyk7Cgo=","commentary":"Program functions are defined in source text by a FunctionDeclaration or created dynamically either\nby using a FunctionExpression or by using the built-in Function object as a constructor","description":"Creating function dynamically by using the built-in Function object as a constructor","path":"TestCases/ch10/10.1/S10.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIEZ1bmN0aW9uIG9iamVjdHMuIEludGVybmFsIGZ1bmN0aW9ucwogKiBhcmUgYnVpbHQtaW4gb2JqZWN0cyBvZiB0aGUgbGFuZ3VhZ2UsIHN1Y2ggYXMgcGFyc2VJbnQgYW5kIE1hdGguZXhwCiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlcyBvZiBwYXJzZUludCBhbmQgTWF0aC5leHAKICovCgovL0NIRUNLIzEKaWYodHlwZW9mKE1hdGguZXhwKSE9PSJmdW5jdGlvbiIpCiAgJEVSUk9SKCcjMTogdHlwZW9mKE1hdGguZXhwKDEwKSkhPT0iZnVuY3Rpb24iICcrdHlwZW9mKE1hdGguZXhwKCkpKTsKCi8vQ0hFQ0sjMgppZih0eXBlb2YocGFyc2VJbnQpIT09ImZ1bmN0aW9uIikKICAkRVJST1IoJyMyOiB0eXBlb2YocGFyc2VJbnQoKSkhPT0iZnVuY3Rpb24iICcrdHlwZW9mKHBhcnNlSW50KCkpKTsKICAKCg==","commentary":"There are two types of Function objects. Internal functions\nare built-in objects of the language, such as parseInt and Math.exp","description":"Checking types of parseInt and Math.exp","path":"TestCases/ch10/10.1/S10.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBmdW5jdGlvbiBwYXJhbWV0ZXIgaXMgcG9zc2libGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKGEpewogIGRlbGV0ZSBhOwogIHJldHVybiBhOwp9CmlmIChmMSgxKSAhPT0gMSkKICAkRVJST1IoJyMxOiBGdW5jdGlvbiBwYXJhbWV0ZXIgd2FzIGRlbGV0ZWQnKTsKCgo=","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking if deleting function parameter is possible","noStrict":"","path":"TestCases/ch10/10.1/S10.1.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmdW50aW9uIHdoaWNoIHJldHVybnMgcHJvcGVydHkgImFyZ3VtZW50cyIKICovCgp2YXIgQVJHX1NUUklORyA9ICJ2YWx1ZSBvZiB0aGUgYXJndW1lbnQgcHJvcGVydHkiOwoKZnVuY3Rpb24gZjEoKSB7CiAgdGhpcy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuYXJndW1lbnRzID0gQVJHX1NUUklORzsKICByZXR1cm4gYXJndW1lbnRzOwp9CiAgCi8vQ0hFQ0sjMQppZiAoKG5ldyBmMSgxLDIsMyw0LDUpKS5sZW5ndGggIT09IDUpCiAgJEVSUk9SKCcjMTogKG5ldyBmMSgxLDIsMyw0LDUpKS5sZW5ndGg9PT01LCB3aGVyZSBmMSByZXR1cm5zICJhcmd1bWVudHMiIHRoYXQgaXMgc2V0IHRvICInKyBBUkdfU1RSSU5HICsgJyInKTsKCi8vQ0hFQ0sjMiAgCmlmICgobmV3IGYxKDEsMiwzLDQsNSkpWzNdICE9PSA0KQogICRFUlJPUignIzI6IChuZXcgZjEoMSwyLDMsNCw1KSlbM109PT00LCB3aGVyZSBmMSByZXR1cm5zICJhcmd1bWVudHMiIHRoYXQgaXMgc2V0IHRvICInKyBBUkdfU1RSSU5HICsgJyInKTsKCi8vQ0hFQ0sjMwp2YXIgeCA9IG5ldyBmMSgxLDIsMyw0LDUpOyAKaWYgKGRlbGV0ZSB4WzNdICE9PSB0cnVlKQogICRFUlJPUignIzMuMTogRnVuY3Rpb24gcGFyYW1ldGVycyBoYXZlIGF0dHJpYnV0ZSB7RG9udERlbGV0ZX0nKTsKICAKaWYgKHhbM10gPT09IDQpCiAgJEVSUk9SKCcjMy4yOiBGdW5jdGlvbiBwYXJhbWV0ZXJzIGhhdmUgYXR0cmlidXRlIHtEb250RGVsZXRlfScpOwoK","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking funtion which returns property \"arguments\"","path":"TestCases/ch10/10.1/S10.1.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYWN0aXZhdGlvbiBvYmplY3QgaXMgaW5pdGlhbGlzZWQgd2l0aCBhIHByb3BlcnR5IHdpdGggbmFtZSBhcmd1bWVudHMgYW5kIGF0dHJpYnV0ZXMge0RvbnREZWxldGV9CiAqCiAqIEBwYXRoIGNoMTAvMTAuMS9TMTAuMS42X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmdW5jdGlvbiB3aGljaCByZXR1cm5zICJ0aGlzIgogKiBAbm9TdHJpY3QKICovCgpmdW5jdGlvbiBmMSgpIHsKICBpZiAoZGVsZXRlIGFyZ3VtZW50cykgewogICAgJEVSUk9SKCIjMTogRnVuY3Rpb24gcGFyYW1ldGVycyBoYXZlIGF0dHJpYnV0ZSB7RG9udERlbGV0ZX0iICsgYXJndW1lbnRzKTsKICB9CiAgcmV0dXJuIGFyZ3VtZW50czsKfQoKZjEoKTsKCg==","commentary":"The activation object is initialised with a property with name arguments and attributes {DontDelete}","description":"Checking function which returns \"this\"","noStrict":"","path":"TestCases/ch10/10.1/S10.1.6_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdGhpcyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYW4gZXhlY3V0aW9uY29udGV4dCBpcyBpbW11dGFibGUKICoKICogQHBhdGggY2gxMC8xMC4xL1MxMC4xLjdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nICJ0aGlzIiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIHRoaXMgIT09IHRydWUpCiAgJEVSUk9SKCcjMTogVGhlIHRoaXMgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIGFuIGV4ZWN1dGlvbmNvbnRleHQgaXMgaW1tdXRhYmxlLiBBY3R1YWw6IHRoaXMgd2FzIGRlbGV0ZWQnKTsKICAKCg==","commentary":"The this value associated with an executioncontext is immutable","description":"Checking if deleting \"this\" fails","path":"TestCases/ch10/10.1/S10.1.7_A1_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAndXNlICBzdHJpY3QnOyB3aGljaCBjb250YWlucyB0d28gc3BhY2UgYmV0d2VlbiAndXNlJyBhbmQgJ3N0cmljdCcNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2UgIHN0cmljdCI7DQogICAgICAgIHZhciBwdWJsaWMgPSAxOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is 'use strict'; which contains two space between 'use' and 'strict'","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVXNlIFN0cmljdCBEaXJlY3RpdmUgUHJvbG9ndWUgaXMgJydVU0UgU1RSSUNUJzsnIGluIHdoaWNoIGFsbCBjaGFyYWN0ZXJzIGFyZSB1cHBlcmNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJVU0UgU1RSSUNUIjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''USE STRICT';' in which all characters are uppercase","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBjb2RlIHdpdGggYSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIid1c2Ugc3RyaWN0JzsgdmFyIHB1YmxpYyA9IDE7IHZhciBhbm90aGVyVmFyaWFibGVOb3RSZXNlcnZlV29yZCA9IDI7Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvciAmJiB0eXBlb2YgcHVibGljID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgICAgIHR5cGVvZiBhbm90aGVyVmFyaWFibGVOb3RSZXNlcnZlV29yZCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Eval code is strict code with a Use Strict Directive at the beginning of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBldmFsIGNvZGUgd2l0aCBhIFVzZSBTdHJpY3QgRGlyZWN0aXZlIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsgJ3VzZSBzdHJpY3QnOyB2YXIgYW5vdGhlclZhcmlhYmxlTm90UmVzZXJ2ZVdvcmQgPSAyOyIpOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxICYmIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Eval code is strict eval code with a Use Strict Directive in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRXZhbCBjb2RlIGlzIHN0cmljdCBldmFsIGNvZGUgd2l0aCBhIFVzZSBTdHJpY3QgRGlyZWN0aXZlIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsgdmFyIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID0gMjsgJ3VzZSBzdHJpY3QnOyIpOw0KICAgICAgICByZXR1cm4gcHVibGljID09PSAxICYmIGFub3RoZXJWYXJpYWJsZU5vdFJlc2VydmVXb3JkID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Eval code is strict eval code with a Use Strict Directive at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVGhlIGNhbGwgdG8gZXZhbCBmdW5jdGlvbiBpcyBjb250YWluZWQgaW4gYSBTdHJpY3QgTW9kZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgJ3VzZSBzdHJpY3QnOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - The call to eval function is contained in a Strict Mode block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGlzIHN0cmljdCBmdW5jdGlvbiBjb2RlIGlmIEZ1bmN0aW9uRGVjbGFyYXRpb24gaXMgY29udGFpbmVkIGluIHVzZSBzdHJpY3QNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBldmFsKCJ2YXIgcHVibGljID0gMTsiKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code that is part of a FunctionDeclaration is strict function code if FunctionDeclaration is contained in use strict","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBGdW5jdGlvbkV4cHJlc3Npb24gaXMgc3RyaWN0IGZ1bmN0aW9uIGNvZGUgaWYgRnVuY3Rpb25FeHByZXNzaW9uIGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0DQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code that is part of a FunctionExpression is strict function code if FunctionExpression is contained in use strict","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgaXMgaW4gU3RyaWN0IE1vZGUgaWYgQWNjZXNzb3IgUHJvcGVydHlBc3NpZ25tZW50IGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0KGdldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgicHVibGljID0gMTsiKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVtcCA9IG9iai5hY2NQcm9wZXJ0eSA9PT0gMTE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code that is part of a Accessor PropertyAssignment is in Strict Mode if Accessor PropertyAssignment is contained in use strict(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSB0aGF0IGlzIHBhcnQgb2YgYSBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgaXMgaW4gU3RyaWN0IE1vZGUgaWYgQWNjZXNzb3IgUHJvcGVydHlBc3NpZ25tZW50IGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0KHNldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImFjY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yICYmIGRhdGEgPT09ICJkYXRhIjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code that is part of a Accessor PropertyAssignment is in Strict Mode if Accessor PropertyAssignment is contained in use strict(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMTktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnJyB3aGljaCBsb3N0IHRoZSBsYXN0IGNoYXJhY3RlciAnOycNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0Ig0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict'' which lost the last character ';'","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBmdW4oKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of a FunctionDeclaration contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgYmxvY2sNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICByZXR1cm4gcHVibGljID09PSAxOw0KICAgICAgICB9ICgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of a FunctionExpression contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjUtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrKGdldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiYWNjUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB0ZW1wID0gb2JqLmFjY1Byb3BlcnR5ID09PSAxMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the start of the block(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjYtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGJsb2NrKHNldHRlcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the start of the block(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjctcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jayhnZXR0ZXIpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGV2YWwoInB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmouYWNjUHJvcGVydHkgPT09IDExICYmIHB1YmxpYyA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears in the middle of the block(getter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjgtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBBY2Nlc3NvciBQcm9wZXJ0eUFzc2lnbm1lbnQgY29udGFpbnMgVXNlIFN0cmljdCBEaXJlY3RpdmUgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jayhzZXR0ZXIpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJhY2NQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdmFyIF8xMF8xXzFfMjhfcyA9IHthOjEsIGE6Mn07DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIG9iai5hY2NQcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICByZXR1cm4gZGF0YT09PSJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of Accessor PropertyAssignment contains Use Strict Directive which appears at the end of the block(setter)","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMjktcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gVGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNvbnRhaW5lZCBpbiB1c2Ugc3RyaWN0IGNvZGUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IG5ldyBGdW5jdGlvbigiYSIsICJldmFsKCdwdWJsaWMgPSAxOycpOyIpOw0KICAgICAgICBmdW5PYmooKTsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - The built-in Function constructor is contained in use strict code","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnJyB3aGljaCBsb3N0IHRoZSBsYXN0IGNoYXJhY3RlciAnOycNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiDQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIHB1YmxpYyA9IDE7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict'' which lost the last character ';'","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJyB1c2Ugc3RyaWN0JzsnIHdoaWNoIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgc3BhY2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICIgdXNlIHN0cmljdCI7DQogICAgICAgIHZhciBwdWJsaWMgPSAxOw0KDQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is '' use strict';' which the first character is space","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBzdGFydCBvZiB0aGUgYmxvY2sNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgIid1c2Ugc3RyaWN0JzsgZXZhbCgncHVibGljID0gMTsnKTsiKTsNCiAgICAgICAgICAgIGZ1bk9iaigpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears at the start of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGluIHRoZSBtaWRkbGUgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgImV2YWwoJ3B1YmxpYyA9IDE7Jyk7ICd1c2Ugc3RyaWN0JzsgYW5vdGhlclZhcmlhYmxlID0gMjsiKTsNCiAgICAgICAgZnVuT2JqKCk7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgYW5vdGhlclZhcmlhYmxlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtMzItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRnVuY3Rpb24gY29kZSBvZiBidWlsdC1pbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjb250YWlucyBVc2UgU3RyaWN0IERpcmVjdGl2ZSB3aGljaCBhcHBlYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gbmV3IEZ1bmN0aW9uKCJhIiwgImV2YWwoJ3B1YmxpYyA9IDE7Jyk7IGFub3RoZXJWYXJpYWJsZSA9IDI7ICd1c2Ugc3RyaWN0JzsiKTsNCiAgICAgICAgZnVuT2JqKCk7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgYW5vdGhlclZhcmlhYmxlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Function code of built-in Function constructor contains Use Strict Directive which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QgJzsnIHdoaWNoIHRoZSBsYXN0IGNoYXJhY3RlciBpcyBzcGFjZQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QgIjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict ';' which the last character is space","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZXZhbCgidmFyIHB1YmxpYyA9IDE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the beginning of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGNvZGUNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCnZhciBwdWJsaWMgPSAxOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the start of the code","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGludGVyZmFjZSA9IDI7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDEgJiYgaW50ZXJmYWNlID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears in the middle of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jaw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears at the end of the block","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyB0d2ljZSBpbiB0aGUgZGlyZWN0aXZlIHByb2xvZ3VlDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoInZhciBwdWJsaWMgPSAxOyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears twice in the directive prologue","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ3VzZSBzdHJpY3QnOycgd2hpY2ggYXBwZWFycyB0d2ljZSBpbiB0aGUgY29kZQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIHB1YmxpYyA9IDE7DQo=","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''use strict';' which appears twice in the code","negative":"^((?!NotEarlyError).)*$","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-8gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4xLzEwLjEuMS8xMC4xLjEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBVc2UgU3RyaWN0IERpcmVjdGl2ZSBQcm9sb2d1ZSBpcyAnJ1VzZSBzdHJpY3QnOycgaW4gd2hpY2ggdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB1cHBlcmNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJVc2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIHB1YmxpYyA9IDE7DQogICAgICAgIHJldHVybiBwdWJsaWMgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - Use Strict Directive Prologue is ''Use strict';' in which the first character is uppercase","noStrict":"","path":"TestCases/ch10/10.1/10.1.1/10.1.1-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgY2FsbGVyIHN1cHBsaWVzIGZld2VyIHBhcmFtZXRlciB2YWx1ZXMgdGhhbiB0aGVyZSBhcmUKICogZm9ybWFsIHBhcmFtZXRlcnMsIHRoZSBleHRyYSBmb3JtYWwgcGFyYW1ldGVycyBoYXZlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4xL1MxMC4yLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgZnVuY3Rpb24gZXhjbHVkaW5nIGEgZmV3IHBhcmFtZXRlcnMKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoYSwgYil7CiAgcmV0dXJuIChiID09PSB1bmRlZmluZWQpOwp9CmlmKCEoZjEoMSwgMikgPT09IGZhbHNlKSl7CiAgJEVSUk9SKCcjMTogZjEoMSwgMikgPT09IGZhbHNlJyk7Cn0gZWxzZSBpZighKGYxKDEpID09PSB0cnVlKSl7CiAgJEVSUk9SKCcjMTogZjEoMSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKGEsIGIsIGMpewogIHJldHVybiAoYiA9PT0gdW5kZWZpbmVkKSAmJiAoYyA9PT0gdW5kZWZpbmVkKTsKfQppZighKGYyKDEpID09PSB0cnVlKSl7CiAgJEVSUk9SKCcjMjogZjIoMSwgMikgPT09IHRydWUnKTsKfQoK","commentary":"If the caller supplies fewer parameter values than there are\nformal parameters, the extra formal parameters have value undefined","description":"Calling function excluding a few parameters","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycyBzaGFyZSB0aGUgc2FtZSBuYW1lLCBoZW5jZQogKiB0aGUgc2FtZSBwcm9wZXJ0eSwgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgaXMgZ2l2ZW4gdGhlIHZhbHVlIHRoYXQgd2FzCiAqIHN1cHBsaWVkIGZvciB0aGUgbGFzdCBwYXJhbWV0ZXIgd2l0aCB0aGlzIG5hbWUKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbnMgaW5pdGlhbGl6ZWQgd2l0aCB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycywgd2hpY2ggaGF2ZSB0aGUgc2FtZSBuYW1lCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSh4LCB4KSB7CiAgcmV0dXJuIHg7Cn0KaWYoIShmMSgxLCAyKSA9PT0gMikpIHsKICAkRVJST1IoIiMxOiBmMSgxLCAyKSA9PT0gMiIpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gZjIoeCwgeCwgeCl7CiAgcmV0dXJuIHgqeCp4Owp9CmlmKCEoZjIoMSwgMiwgMykgPT09IDI3KSl7CiAgJEVSUk9SKCJmMigxLCAyLCAzKSA9PT0gMjciKTsKfQoKLy9DSEVDSyMzCmZ1bmN0aW9uIGYzKHgsIHgpIHsKICByZXR1cm4gJ2EnICsgeDsKfQppZighKGYzKDEsIDIpID09PSAnYTInKSl7CiAgJEVSUk9SKCIjMzogZjMoMSwgMikgPT09ICdhMiciKTsKfQoK","commentary":"If two or more formal parameters share the same name, hence\nthe same property, the corresponding property is given the value that was\nsupplied for the last parameter with this name","description":"Creating functions initialized with two or more formal parameters, which have the same name","noStrict":"","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgdmFsdWUgb2YgdGhpcyBsYXN0IHBhcmFtZXRlciAod2hpY2ggaGFzIHRoZSBzYW1lCiAqIG5hbWUgYXMgc29tZSBwcmV2aW91cyBwYXJhbWV0ZXJzIGRvKSB3YXMgbm90IHN1cHBsaWVkIGJ5IHRoZQogKiBjYWxsZXIsIHRoZSB2YWx1ZSBvZiB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSBpcyB1bmRlZmluZWQKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBmdW5jdGlvbnMgd2l0aCB0d28gb3IgbW9yZSBmb3JtYWwgcGFyYW1ldGVycywKICogdGhhdCBoYXZlIHRoZSBzYW1lIG5hbWUuIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBleGNsdWRpbmcgYSBmZXcgbGFzdCBwYXJhbWV0ZXJzCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgsIGEsIGIsIHgpewogIHJldHVybiB4Owp9CmlmKCEoZjEoMSwgMikgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUignIzE6IGYxKDEsIDIpID09PSB1bmRlZmluZWQnKTsKfQoK","commentary":"If the value of this last parameter (which has the same\nname as some previous parameters do) was not supplied by the\ncaller, the value of the corresponding property is undefined","description":"Creating functions with two or more formal parameters,\nthat have the same name. Calling this function excluding a few last parameters","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiBpbiBmdW5jdGlvbiBjb2RlIC0gSWYgdGhlIHZhcmlhYmxlIG9iamVjdAogKiBhbHJlYWR5IGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIG5hbWUgb2YgRnVuY3Rpb24gSWRlbnRpZmllciwgcmVwbGFjZSBpdHMKICogdmFsdWUgYW5kIGF0dHJpYnV0ZXMuIFNlbWFudGljYWxseSwgdGhpcyBzdGVwIG11c3QgZm9sbG93IHRoZSBjcmVhdGlvbiBvZgogKiBGb3JtYWxQYXJhbWV0ZXJMaXN0IHByb3BlcnRpZXMKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYSBmdW5jdGlvbiB3aXRoIHBhc3NlZCBwYXJhbWV0ZXIKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgpewogIHJldHVybiB4OwoKICBmdW5jdGlvbiB4KCl7CiAgICByZXR1cm4gNzsKICB9Cn0KaWYoIShmMSgpLmNvbnN0cnVjdG9yLnByb3RvdHlwZSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSl7CiAgJEVSUk9SKCcjMTogZjEoKSByZXR1cm5zIGZ1bmN0aW9uJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMih4KXsKICByZXR1cm4gdHlwZW9mIHg7CgogIGZ1bmN0aW9uIHgoKXsKICAgIHJldHVybiA3OwogIH0KfQppZighKGYyKCkgPT09ICJmdW5jdGlvbiIpKXsKICAkRVJST1IoJyMyOiBmMigpID09PSAiZnVuY3Rpb24iJyk7Cn0KCi8vQ0hFQ0sjMwpmdW5jdGlvbiBmMygpIHsKICByZXR1cm4gdHlwZW9mIGFyZ3VtZW50czsKICBmdW5jdGlvbiBhcmd1bWVudHMoKSB7CiAgICByZXR1cm4gNzsKICB9Cn0KaWYgKCEoZjMoKSA9PT0gImZ1bmN0aW9uIikpewogICRFUlJPUignIzM6IGYzKCkgPT09ICJmdW5jdGlvbiInKTsKfQoK","commentary":"Function declaration in function code - If the variable object\nalready has a property with the name of Function Identifier, replace its\nvalue and attributes. Semantically, this step must follow the creation of\nFormalParameterList properties","description":"Checking existence of a function with passed parameter","noStrict":"","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiBpbiBmdW5jdGlvbiBjb2RlIC0gSWYgdGhlIHZhcmlhYmxlIG9iamVjdAogKiBhbHJlYWR5IGhhcyBhIHByb3BlcnR5IHdpdGggdGhlIG5hbWUgb2YgRnVuY3Rpb24gSWRlbnRpZmllciwgcmVwbGFjZSBpdHMKICogdmFsdWUgYW5kIGF0dHJpYnV0ZXMuIFNlbWFudGljYWxseSwgdGhpcyBzdGVwIG11c3QgZm9sbG93IHRoZSBjcmVhdGlvbiBvZgogKiBGb3JtYWxQYXJhbWV0ZXJMaXN0IHByb3BlcnRpZXMKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS9TMTAuMi4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYSBmdW5jdGlvbiB3aXRoIGRlY2xhcmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgdmFyIHg7CiAgCiAgcmV0dXJuIHg7CiAgCiAgZnVuY3Rpb24geCgpewogICAgcmV0dXJuIDc7CiAgfQp9CmlmKCEoZjEoKS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkpewogICRQUklOVCgnIzE6IGYxKCkgcmV0dXJucyBmdW5jdGlvbicpOwp9CgovL0NIRUNLIzIKZnVuY3Rpb24gZjIoKXsKICB2YXIgeDsKICAKICByZXR1cm4gdHlwZW9mIHg7CiAgCiAgZnVuY3Rpb24geCgpewogICAgcmV0dXJuIDc7CiAgfQp9CmlmKCEoZjIoKSA9PT0gImZ1bmN0aW9uIikpewogICRQUklOVCgnIzI6IGYyKCkgPT09ICJmdW5jdGlvbiInKTsKfQoK","commentary":"Function declaration in function code - If the variable object\nalready has a property with the name of Function Identifier, replace its\nvalue and attributes. Semantically, this step must follow the creation of\nFormalParameterList properties","description":"Checking existence of a function with declared variable","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZWFjaCBWYXJpYWJsZURlY2xhcmF0aW9uIG9yIFZhcmlhYmxlRGVjbGFyYXRpb25Ob0luIGluIHRoZQogKiBjb2RlLCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0aGUgdmFyaWFibGUgb2JqZWN0IHdob3NlIG5hbWUgaXMgdGhlIElkZW50aWZpZXIKICogaW4gdGhlIFZhcmlhYmxlRGVjbGFyYXRpb24gb3IgVmFyaWFibGVEZWNsYXJhdGlvbk5vSW4sIHdob3NlIHZhbHVlIGlzCiAqIHVuZGVmaW5lZCBhbmQgd2hvc2UgYXR0cmlidXRlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgdHlwZSBvZiBjb2RlCiAqCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvUzEwLjIuMV9BNS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YXJpYWJsZSBleGlzdGVuY2Ugb25seQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHZhciB4OwogIAogIHJldHVybiB0eXBlb2YgeDsKfQoKaWYoIShmMSgpID09PSAidW5kZWZpbmVkIikpewogICRQUklOVCgnIzE6IGYxKCkgPT09ICJ1bmRlZmluZWQiJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMigpewogIHZhciB4OwogIAogIHJldHVybiB4Owp9CgppZighKGYyKCkgPT09IHVuZGVmaW5lZCkpewogICRQUklOVCgnIzE6IGYyKCkgPT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"For each VariableDeclaration or VariableDeclarationNoIn in the\ncode, create a property of the variable object whose name is the Identifier\nin the VariableDeclaration or VariableDeclarationNoIn, whose value is\nundefined and whose attributes are determined by the type of code","description":"Checking variable existence only","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZWFjaCBWYXJpYWJsZURlY2xhcmF0aW9uIG9yIFZhcmlhYmxlRGVjbGFyYXRpb25Ob0luIGluIHRoZQogKiBjb2RlLCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0aGUgdmFyaWFibGUgb2JqZWN0IHdob3NlIG5hbWUgaXMgdGhlIElkZW50aWZpZXIKICogaW4gdGhlIFZhcmlhYmxlRGVjbGFyYXRpb24gb3IgVmFyaWFibGVEZWNsYXJhdGlvbk5vSW4sIHdob3NlIHZhbHVlIGlzCiAqIHVuZGVmaW5lZCBhbmQgd2hvc2UgYXR0cmlidXRlcyBhcmUgZGV0ZXJtaW5lZCBieSB0aGUgdHlwZSBvZiBjb2RlCiAqCiAqIEBwYXRoIGNoMTAvMTAuMi8xMC4yLjEvUzEwLjIuMV9BNS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHZhcmlhYmxlIG9iamVjdCBwcm9wZXJ0eSB3aXRoIGZvcm1hbCBwYXJhbWV0ZXIKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoeCl7CiAgdmFyIHg7CiAgCiAgcmV0dXJuIHR5cGVvZiB4Owp9CgppZighKGYxKCkgPT09ICJ1bmRlZmluZWQiKSl7CiAgJFBSSU5UKCcjMTogZjEoMSkgPT09ICJ1bmRlZmluZWQiJyk7Cn0KCi8vQ0hFQ0sjMgpmdW5jdGlvbiBmMih4KXsKICB2YXIgeDsKICAKICByZXR1cm4geDsKfQoKaWYoIShmMigpID09PSB1bmRlZmluZWQpKXsKICAkUFJJTlQoJyMxOiBmMigxKSA9PT0gdW5kZWZpbmVkJyk7Cn0KCg==","commentary":"For each VariableDeclaration or VariableDeclarationNoIn in the\ncode, create a property of the variable object whose name is the Identifier\nin the VariableDeclaration or VariableDeclarationNoIn, whose value is\nundefined and whose attributes are determined by the type of code","description":"Checking existence of the variable object property with formal parameter","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGVyZSBpcyBhbHJlYWR5IGEgcHJvcGVydHkgb2YgdGhlIHZhcmlhYmxlIG9iamVjdCB3aXRoIHRoZQogKiBuYW1lIG9mIGEgZGVjbGFyZWQgdmFyaWFibGUsIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgYW5kIGl0cyBhdHRyaWJ1dGVzCiAqIGFyZSBub3QgY2hhbmdlZAogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4xL1MxMC4yLjFfQTUuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZXhpc3RlbmNlIG9mIHRoZSB2YXJpYWJsZSBvYmplY3QgcHJvcGVydHkgd2l0aCBmb3JtYWwgcGFyYW1ldGVyCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKHgpewogIHZhciB4OwogIAogIHJldHVybiB0eXBlb2YgeDsKfQoKaWYoIShmMSgxKSA9PT0gIm51bWJlciIpKXsKICAkUFJJTlQoJyMxOiBmMSgxKSA9PT0gIm51bWJlciInKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKHgpewogIHZhciB4OwogIAogIHJldHVybiB4Owp9CgppZighKGYyKDEpID09PSAxKSl7CiAgJFBSSU5UKCcjMTogZjIoMSkgPT09IDEnKTsKfQoK","commentary":"If there is already a property of the variable object with the\nname of a declared variable, the value of the property and its attributes\nare not changed","description":"Checking existence of the variable object property with formal parameter","path":"TestCases/ch10/10.2/10.2.1/S10.2.1_A5.2_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS8xMC4yLjEuMS8xMC4yLjEuMS4zLzEwLjIuMS4xLjMtNC0xNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gY2hhbmdpbmcgdGhlIHZhbHVlIG9mIGEgVmFsdWUgUHJvcGVydHkgb2YgdGhlIEdsb2JhbCBPYmplY3QgdW5kZXIgc3RyaWN0IG1vZGUgKE5hTikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOYU4gPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown when changing the value of a Value Property of the Global Object under strict mode (NaN)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS8xMC4yLjEuMS8xMC4yLjEuMS4zLzEwLjIuMS4xLjMtNC0xOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gY2hhbmdpbmcgdGhlIHZhbHVlIG9mIGEgVmFsdWUgUHJvcGVydHkgb2YgdGhlIEdsb2JhbCBPYmplY3QgdW5kZXIgc3RyaWN0IG1vZGUgKHVuZGVmaW5lZCkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdW5kZWZpbmVkID0gMTI7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown when changing the value of a Value Property of the Global Object under strict mode (undefined)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-18-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS8xMC4yLjEuMS8xMC4yLjEuMS4zLzEwLjIuMS4xLjMtNC0yMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgbm90IHRocm93biB3aGVuIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiB0aGUgQ29uc3RydWN0b3IgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCB1bmRlciBzdHJpY3QgbW9kZSAoT2JqZWN0KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBvYmpCYWsgPSBPYmplY3Q7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdCA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QgPSBvYmpCYWs7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is not thrown when changing the value of the Constructor Properties of the Global Object under strict mode (Object)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMS8xMC4yLjEuMS8xMC4yLjEuMS4zLzEwLjIuMS4xLjMtNC0yNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgbm90IHRocm93biB3aGVuIGNoYW5naW5nIHRoZSB2YWx1ZSBvZiB0aGUgQ29uc3RydWN0b3IgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCB1bmRlciBzdHJpY3QgbW9kZSAoTnVtYmVyKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIG51bUJhayA9IE51bWJlcjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlciA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBOdW1iZXIgPSBudW1CYWs7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is not thrown when changing the value of the Constructor Properties of the Global Object under strict mode (Number)","onlyStrict":"","path":"TestCases/ch10/10.2/10.2.1/10.2.1.1/10.2.1.1.3/10.2.1.1.3-4-27-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgdmFyIHggPSAxOwogIGZ1bmN0aW9uIGYyKCl7CiAgICByZXR1cm4geDsKICB9OwogIHJldHVybiBmMigpOwp9CgppZighKGYxKCkgPT09IDEpKXsKICAkRVJST1IoIiMxOiBTY29wZSBjaGFpbiBkaXN0dXJiZWQiKTsKfQoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CiAgcmV0dXJuIGYyKCk7Cn0KCmlmKCEoZjEoKSA9PT0gMCkpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CiAgcmV0dXJuIGYyKCk7CiAgCiAgdmFyIHggPSAxOwp9CgppZighKGYxKCkgPT09IHVuZGVmaW5lZCkpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9CgoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwogKi8KCnZhciB4ID0gMDsKCmZ1bmN0aW9uIGYxKCl7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHJldHVybiB4OwogIH07CgogIHZhciB4ID0gMTsKICByZXR1cm4gZjIoKTsKfQoKaWYoIShmMSgpID09PSAxKSl7CiAgJEVSUk9SKCIjMTogU2NvcGUgY2hhaW4gZGlzdHVyYmVkIik7Cn0KCg==","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICB2YXIgeCA9IDE7CiAgZnVuY3Rpb24gZjIoKXsKICAgIHdpdGgobXlPYmopewogICAgICByZXR1cm4geDsKICAgIH0KICB9OwogIHJldHVybiBmMigpOwp9CgppZighKGYxKCkgPT09ICJvYmoiKSl7CiAgJEVSUk9SKCIjMTogU2NvcGUgY2hhaW4gZGlzdHVyYmVkIik7Cn0KCg==","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CiAgcmV0dXJuIGYyKCk7Cn0KCmlmKCEoZjEoKSA9PT0gIm9iaiIpKXsKICAkRVJST1IoIiMxOiBTY29wZSBjaGFpbiBkaXN0dXJiZWQiKTsKfQoK","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CiAgcmV0dXJuIGYyKCk7CgogIHZhciB4ID0gMTsKfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICBmdW5jdGlvbiBmMigpewogICAgd2l0aChteU9iail7CiAgICAgIHJldHVybiB4OwogICAgfQogIH07CgogIHZhciB4ID0gMTsKICByZXR1cm4gZjIoKTsKfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBleGVjdXRpb24gY29udGV4dCBoYXMgYXNzb2NpYXRlZCB3aXRoIGl0IGEgc2NvcGUgY2hhaW4uCiAqIEEgc2NvcGUgY2hhaW4gaXMgYSBsaXN0IG9mIG9iamVjdHMgdGhhdCBhcmUgc2VhcmNoZWQgd2hlbiBldmFsdWF0aW5nIGFuCiAqIElkZW50aWZpZXIKICoKICogQHBhdGggY2gxMC8xMC4yLzEwLjIuMi9TMTAuMi4yX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzY29wZSBjaGFpbiBjb250YWluaW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhbmQgIndpdGgiCiAqIEBub1N0cmljdAogKi8KCnZhciB4ID0gMDsKCnZhciBteU9iaiA9IHt4IDogIm9iaiJ9OwoKZnVuY3Rpb24gZjEoKXsKICB3aXRoKG15T2JqKXsKICAgIHJldHVybiB4OwogIH0KfQoKaWYoIShmMSgpID09PSAib2JqIikpewogICRFUlJPUigiIzE6IFNjb3BlIGNoYWluIGRpc3R1cmJlZCIpOwp9Cgo=","commentary":"Every execution context has associated with it a scope chain.\nA scope chain is a list of objects that are searched when evaluating an\nIdentifier","description":"Checking scope chain containing function declarations and \"with\"","noStrict":"","path":"TestCases/ch10/10.2/10.2.2/S10.2.2_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQppZiAoIE5hTiA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxOiBOYU4gPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyCmlmICggSW5maW5pdHkgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjogSW5maW5pdHkgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMzCmlmICggdW5kZWZpbmVkID09PSBudWxsICkgewogICRFUlJPUigiIzM6IHVuZGVmaW5lZCA9PT0gbnVsbCIpOwp9Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjNAppZiAoIGV2YWwgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjNDogZXZhbCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzUKaWYgKCBwYXJzZUludCA9PT0gbnVsbCApIHsKICAkRVJST1IoIiM1OiBwYXJzZUludCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzYKaWYgKCBwYXJzZUZsb2F0ID09PSBudWxsICkgewogICRFUlJPUigiIzY6IHBhcnNlRmxvYXQgPT09IG51bGwiKTsKfQoKLy9DSEVDSyM3CmlmICggaXNOYU4gPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjNzogaXNOYU4gPT09IG51bGwiKTsKfQoKLy9DSEVDSyM4CmlmICggaXNGaW5pdGUgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjODogaXNGaW5pdGUgPT09IG51bGwiKTsKfQoKLy9DSEVDSyM5CmlmICggZGVjb2RlVVJJID09PSBudWxsICkgewogICRFUlJPUigiIzk6IGRlY29kZVVSSSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzEwCmlmICggZGVjb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICRFUlJPUigiIzEwOiBkZWNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMxMQppZiAoIGVuY29kZVVSSSA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxMTogZW5jb2RlVVJJID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMTIKaWYgKCBlbmNvZGVVUklDb21wb25lbnQgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTI6IGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwp9Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMTMKaWYgKCBPYmplY3QgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTM6IE9iamVjdCA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE0CmlmICggRnVuY3Rpb24gPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTQ6IEZ1bmN0aW9uID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMTUKaWYgKCBTdHJpbmcgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMTU6IFN0cmluZyA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE2CmlmICggTnVtYmVyID09PSBudWxsICkgewogICRFUlJPUigiIzE2OiBOdW1iZXIgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMxNwppZiAoIEFycmF5ID09PSBudWxsICkgewogICRFUlJPUigiIzE3OiBBcnJheSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE4CmlmICggQm9vbGVhbiA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMyMDogQm9vbGVhbiA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE4CmlmICggRGF0ZSA9PT0gbnVsbCApIHsKICAkRVJST1IoIiMxODogRGF0ZSA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzE5CmlmICggUmVnRXhwID09PSBudWxsICkgewogICRFUlJPUigiIzE5OiBSZWdFeHAgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMAppZiAoIEVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIwOiBFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzIxCmlmICggRXZhbEVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIxOiBFdmFsRXJyb3IgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMgppZiAoIFJhbmdlRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjI6IFJhbmdlRXJyb3IgPT09IG51bGwiKTsKfQoKLy9DSEVDSyMyMwppZiAoIFJlZmVyZW5jZUVycm9yID09PSBudWxsICkgewogICRFUlJPUigiIzIzOiBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzI0CmlmICggU3ludGF4RXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjQ6IFN5bnRheEVycm9yID09PSBudWxsIik7Cn0KCi8vQ0hFQ0sjMjUKaWYgKCBUeXBlRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjU6IFR5cGVFcnJvciA9PT0gbnVsbCIpOwp9CgovL0NIRUNLIzI2CmlmICggVVJJRXJyb3IgPT09IG51bGwgKSB7CiAgJEVSUk9SKCIjMjY6IFVSSUVycm9yID09PSBudWxsIik7Cn0KCgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMjcKaWYgKCBNYXRoID09PSBudWxsICkgewogICRFUlJPUigiIzI3OiBNYXRoID09PSBudWxsIik7Cn0KCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBWYWx1ZSBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBpZiAoIE5hTiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE6IE5hTiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyCiAgaWYgKCBJbmZpbml0eSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzI6IEluZmluaXR5ID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzMKICBpZiAoIHVuZGVmaW5lZCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzM6IHVuZGVmaW5lZCA9PT0gbnVsbCIpOwogIH0KfQoKdGVzdCgpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBGdW5jdGlvbiBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzQKICBpZiAoIGV2YWwgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiM0OiBldmFsID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzUKICBpZiAoIHBhcnNlSW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjNTogcGFyc2VJbnQgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjNgogIGlmICggcGFyc2VGbG9hdCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzY6IHBhcnNlRmxvYXQgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjNwogIGlmICggaXNOYU4gPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiM3OiBpc05hTiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyM4CiAgaWYgKCBpc0Zpbml0ZSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzg6IGlzRmluaXRlID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzkKICBpZiAoIGRlY29kZVVSSSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzk6IGRlY29kZVVSSSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMAogIGlmICggZGVjb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTA6IGRlY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMQogIGlmICggZW5jb2RlVVJJID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTE6IGVuY29kZVVSSSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxMgogIGlmICggZW5jb2RlVVJJQ29tcG9uZW50ID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTI6IGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCIpOwogIH0KfQoKdGVzdCgpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBDb25zdHJ1Y3RvciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEzCiAgaWYgKCBPYmplY3QgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMxMzogT2JqZWN0ID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE0CiAgaWYgKCBGdW5jdGlvbiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE0OiBGdW5jdGlvbiA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxNQogIGlmICggU3RyaW5nID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTU6IFN0cmluZyA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxNgogIGlmICggTnVtYmVyID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTY6IEZ1bmN0aW9uID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE3CiAgaWYgKCBBcnJheSA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE3OiBBcnJheSA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMxOAogIGlmICggQm9vbGVhbiA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzIwOiBCb29sZWFuID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzE4CiAgaWYgKCBEYXRlID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMTg6IERhdGUgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMTkKICBpZiAoIFJlZ0V4cCA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzE5OiBSZWdFeHAgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMjAKICBpZiAoIEVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjA6IEVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzIxCiAgaWYgKCBFdmFsRXJyb3IgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMyMTogRXZhbEVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzIyCiAgaWYgKCBSYW5nZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjI6IFJhbmdlRXJyb3IgPT09IG51bGwiKTsKICB9CgogIC8vQ0hFQ0sjMjMKICBpZiAoIFJlZmVyZW5jZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjM6IFJlZmVyZW5jZUVycm9yID09PSBudWxsIik7CiAgfQoKICAvL0NIRUNLIzI0CiAgaWYgKCBTeW50YXhFcnJvciA9PT0gbnVsbCApIHsKICAgICRFUlJPUigiIzI0OiBTeW50YXhFcnJvciA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyNQogIGlmICggVHlwZUVycm9yID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjU6IFR5cGVFcnJvciA9PT0gbnVsbCIpOwogIH0KCiAgLy9DSEVDSyMyNgogIGlmICggVVJJRXJyb3IgPT09IG51bGwgKSB7CiAgICAkRVJST1IoIiMyNjogVVJJRXJyb3IgPT09IG51bGwiKTsKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBPdGhlciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzI3CiAgaWYgKCBNYXRoID09PSBudWxsICkgewogICAgJEVSUk9SKCIjMjc6IE1hdGggPT09IG51bGwiKTsKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Function execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIFZhbHVlIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMxXG4nKwonaWYgKCBOYU4gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxOiBOYU4gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMlxuJysKJ2lmICggSW5maW5pdHkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyOiBJbmZpbml0eSA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMzXG4nKwonaWYgKCB1bmRlZmluZWQgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMzOiB1bmRlZmluZWQgPT09IG51bGwiKTtcbicrCid9XG4nKwonO1xuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIEZ1bmN0aW9uIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyM0XG4nKwonaWYgKCBldmFsID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjNDogZXZhbCA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyM1XG4nKwonaWYgKCBwYXJzZUludCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzU6IHBhcnNlSW50ID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzZcbicrCidpZiAoIHBhcnNlRmxvYXQgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM2OiBwYXJzZUZsb2F0ID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzdcbicrCidpZiAoIGlzTmFOID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjNzogaXNOYU4gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjOFxuJysKJ2lmICggaXNGaW5pdGUgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM4OiBpc0Zpbml0ZSA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyM5XG4nKwonaWYgKCBkZWNvZGVVUkkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiM5OiBkZWNvZGVVUkkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTBcbicrCidpZiAoIGRlY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzEwOiBkZWNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTFcbicrCidpZiAoIGVuY29kZVVSSSA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzExOiBlbmNvZGVVUkkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTJcbicrCidpZiAoIGVuY29kZVVSSUNvbXBvbmVudCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzEyOiBlbmNvZGVVUklDb21wb25lbnQgPT09IG51bGwiKTtcbicrCid9XG4nKwonO1xuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIENvbnN0cnVjdG9yIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMxM1xuJysKJ2lmICggT2JqZWN0ID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMTM6IE9iamVjdCA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxNFxuJysKJ2lmICggRnVuY3Rpb24gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxNDogRnVuY3Rpb24gPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTVcbicrCidpZiAoIFN0cmluZyA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE1OiBTdHJpbmcgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMTZcbicrCidpZiAoIE51bWJlciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE2OiBGdW5jdGlvbiA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxN1xuJysKJ2lmICggQXJyYXkgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxNzogQXJyYXkgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMThcbicrCidpZiAoIEJvb2xlYW4gPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyMDogQm9vbGVhbiA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMxOFxuJysKJ2lmICggRGF0ZSA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzE4OiBEYXRlID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzE5XG4nKwonaWYgKCBSZWdFeHAgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMxOTogUmVnRXhwID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzIwXG4nKwonaWYgKCBFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIwOiBFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyMVxuJysKJ2lmICggRXZhbEVycm9yID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMjE6IEV2YWxFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyMlxuJysKJ2lmICggUmFuZ2VFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIyOiBSYW5nZUVycm9yID09PSBudWxsIik7XG4nKwonfVxuJysKCicvL0NIRUNLIzIzXG4nKwonaWYgKCBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzIzOiBSZWZlcmVuY2VFcnJvciA9PT0gbnVsbCIpO1xuJysKJ31cbicrCgonLy9DSEVDSyMyNFxuJysKJ2lmICggU3ludGF4RXJyb3IgPT09IG51bGwgKSB7XG4nKwonICAkRVJST1IoIiMyNDogU3ludGF4RXJyb3IgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMjVcbicrCidpZiAoIFR5cGVFcnJvciA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzI1OiBUeXBlRXJyb3IgPT09IG51bGwiKTtcbicrCid9XG4nKwoKJy8vQ0hFQ0sjMjZcbicrCidpZiAoIFVSSUVycm9yID09PSBudWxsICkge1xuJysKJyAgJEVSUk9SKCIjMjY6IFVSSUVycm9yID09PSBudWxsIik7XG4nKwonfVxuJysKJztcbic7CgpldmFsKGV2YWxTdHIpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IGhhcyBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVpbHQtaW4gb2JqZWN0cyBzdWNoIGFzCiAqIE1hdGgsIFN0cmluZywgRGF0ZSwgcGFyc2VJbnQsIGV0YwogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTEuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gRXZhbCBleGVjdXRpb24gY29udGV4dCAtIE90aGVyIFByb3BlcnRpZXMKICovCgp2YXIgZXZhbFN0ciA9IAonLy9DSEVDSyMyN1xuJysKJ2lmICggTWF0aCA9PT0gbnVsbCApIHtcbicrCicgICRFUlJPUigiIzI3OiBNYXRoID09PSBudWxsIik7XG4nKwonfVxuJysKJztcbic7CgpldmFsKGV2YWxTdHIpOwoK","commentary":"Global object has properties such as built-in objects such as\nMath, String, Date, parseInt, etc","description":"Eval execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdOYU4nICkgewogICAgJEVSUk9SKCIjMTogJ05hTicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnSW5maW5pdHknICkgewogICAgJEVSUk9SKCIjMTogJ0luZmluaXR5JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICd1bmRlZmluZWQnICkgewogICAgJEVSUk9SKCIjMTogJ3VuZGVmaW5lZCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IAp9Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdldmFsJyApIHsKICAgICRFUlJPUigiIzE6ICdldmFsJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUludCcgKSB7CiAgICAkRVJST1IoIiMxOiAncGFyc2VJbnQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ3BhcnNlRmxvYXQnICkgewogICAgJEVSUk9SKCIjMTogJ3BhcnNlRmxvYXQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ2lzTmFOJyApIHsKICAgICRFUlJPUigiIzE6ICdpc05hTicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnaXNGaW5pdGUnICkgewogICAgJEVSUk9SKCIjMTogJ2lzRmluaXRlJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdkZWNvZGVVUkknICkgewogICAgJEVSUk9SKCIjMTogJ2RlY29kZVVSSScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnZGVjb2RlVVJJQ29tcG9uZW50JyApIHsKICAgICRFUlJPUigiIzE6ICdkZWNvZGVVUklDb21wb25lbnQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ2VuY29kZVVSSScgKSB7CiAgICAkRVJST1IoIiMxOiAnZW5jb2RlVVJJJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdlbmNvZGVVUklDb21wb25lbnQnICkgewogICAgJEVSUk9SKCIjMTogJ2VuY29kZVVSSUNvbXBvbmVudCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IAp9Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdPYmplY3QnICkgewogICAgJEVSUk9SKCIjMTogJ3Byb3BlcnR5ICdPYmplY3QnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0Z1bmN0aW9uJykgewogICAgJEVSUk9SKCIjMTogJ0Z1bmN0aW9uJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdTdHJpbmcnICkgewogICAgJEVSUk9SKCIjMTogJ1N0cmluZycgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnTnVtYmVyJyApIHsKICAgICRFUlJPUigiIzE6ICdOdW1iZXInIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0FycmF5JyApIHsKICAgICRFUlJPUigiIzE6ICdBcnJheScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnQm9vbGVhbicgKSB7CiAgICAkRVJST1IoIiMxOiAnQm9vbGVhbicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnRGF0ZScgKSB7CiAgICAkRVJST1IoIiMxOiAnRGF0ZScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnUmVnRXhwJyApIHsKICAgICRFUlJPUigiIzE6ICdSZWdFeHAnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ0Vycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnRXZhbEVycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdFdmFsRXJyb3InIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ1JhbmdlRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1JhbmdlRXJyb3InIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgfSBlbHNlIGlmICggeCA9PT0gJ1JlZmVyZW5jZUVycm9yJyApIHsKICAgICRFUlJPUigiIzE6ICdSZWZlcmVuY2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnU3ludGF4RXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1N5bnRheEVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0gZWxzZSBpZiAoIHggPT09ICdUeXBlRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1R5cGVFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICB9IGVsc2UgaWYgKCB4ID09PSAnVVJJRXJyb3InICkgewogICAgJEVSUk9SKCIjMTogJ1VSSUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0KfQoK","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCi8vQ0hFQ0sjMQpmb3IgKHZhciB4IGluIHRoaXMpIHsKICBpZiAoIHggPT09ICdNYXRoJyApIHsKICAgICRFUlJPUigiIzE6ICdNYXRoJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogIH0KfQoK","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBWYWx1ZSBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ05hTicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdOYU4nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnSW5maW5pdHknICkgewogICAgICAkRVJST1IoIiMxOiAnSW5maW5pdHknIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAndW5kZWZpbmVkJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ3VuZGVmaW5lZCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gCiAgfQp9Cgp0ZXN0KCk7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBGdW5jdGlvbiBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ2V2YWwnICkgewogICAgICAkRVJST1IoIiMxOiAnZXZhbCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUludCcgKSB7CiAgICAgICRFUlJPUigiIzE6ICdwYXJzZUludCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdwYXJzZUZsb2F0JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ3BhcnNlRmxvYXQnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnaXNOYU4nICkgewogICAgICAkRVJST1IoIiMxOiAnaXNOYU4nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnaXNGaW5pdGUnICkgewogICAgICAkRVJST1IoIiMxOiAnaXNGaW5pdGUnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnZGVjb2RlVVJJJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ2RlY29kZVVSSScgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdkZWNvZGVVUklDb21wb25lbnQnICkgewogICAgICAkRVJST1IoIiMxOiAnZGVjb2RlVVJJQ29tcG9uZW50JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ2VuY29kZVVSSScgKSB7CiAgICAgICRFUlJPUigiIzE6ICdlbmNvZGVVUkknIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnZW5jb2RlVVJJQ29tcG9uZW50JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ2VuY29kZVVSSUNvbXBvbmVudCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gCiAgfQp9Cgp0ZXN0KCk7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBDb25zdHJ1Y3RvciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ09iamVjdCcgKSB7CiAgICAgICRFUlJPUigiIzE6ICdwcm9wZXJ0eSAnT2JqZWN0JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0Z1bmN0aW9uJykgewogICAgICAkRVJST1IoIiMxOiAnRnVuY3Rpb24nIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnU3RyaW5nJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1N0cmluZycgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdOdW1iZXInICkgewogICAgICAkRVJST1IoIiMxOiAnTnVtYmVyJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0FycmF5JyApIHsKICAgICAgJEVSUk9SKCIjMTogJ0FycmF5JyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ0Jvb2xlYW4nICkgewogICAgICAkRVJST1IoIiMxOiAnQm9vbGVhbicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdEYXRlJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ0RhdGUnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7CiAgICB9IGVsc2UgaWYgKCB4ID09PSAnUmVnRXhwJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1JlZ0V4cCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdFdmFsRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnRXZhbEVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ1JhbmdlRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnUmFuZ2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdSZWZlcmVuY2VFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdSZWZlcmVuY2VFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdTeW50YXhFcnJvcicgKSB7CiAgICAgICRFUlJPUigiIzE6ICdTeW50YXhFcnJvcicgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0gZWxzZSBpZiAoIHggPT09ICdUeXBlRXJyb3InICkgewogICAgICAkRVJST1IoIiMxOiAnVHlwZUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSBlbHNlIGlmICggeCA9PT0gJ1VSSUVycm9yJyApIHsKICAgICAgJEVSUk9SKCIjMTogJ1VSSUVycm9yJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpOwogICAgfSAKICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gZXhlY3V0aW9uIGNvbnRleHQgLSBPdGhlciBQcm9wZXJ0aWVzCiAqLwoKZnVuY3Rpb24gdGVzdCgpIHsKICAvL0NIRUNLIzEKICBmb3IgKHZhciB4IGluIHRoaXMpIHsKICAgIGlmICggeCA9PT0gJ01hdGgnICkgewogICAgICAkRVJST1IoIiMxOiAnTWF0aCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTsKICAgIH0KICB9Cn0KCnRlc3QoKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Function execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gVmFsdWUgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdOYU5cJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdOYU5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdJbmZpbml0eVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0luZmluaXR5XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwndW5kZWZpbmVkXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwndW5kZWZpbmVkXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH1cbicrCid9XG4nOwoKZXZhbChldmFsU3RyKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Value Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gRnVuY3Rpb24gUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdldmFsXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZXZhbFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ3BhcnNlSW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwncGFyc2VJbnRcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdwYXJzZUZsb2F0XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwncGFyc2VGbG9hdFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ2lzTmFOXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnaXNOYU5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdpc0Zpbml0ZVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ2lzRmluaXRlXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZGVjb2RlVVJJXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZGVjb2RlVVJJXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZGVjb2RlVVJJQ29tcG9uZW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZGVjb2RlVVJJQ29tcG9uZW50XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZW5jb2RlVVJJXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZW5jb2RlVVJJXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnZW5jb2RlVVJJQ29tcG9uZW50XCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnZW5jb2RlVVJJQ29tcG9uZW50XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH1cbicrCid9XG4nOwoKZXZhbChldmFsU3RyKTsKCg==","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Function Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gQ29uc3RydWN0b3IgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdPYmplY3RcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdPYmplY3RcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdGdW5jdGlvblwnKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRnVuY3Rpb25cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdTdHJpbmdcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdTdHJpbmdcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdOdW1iZXJcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdOdW1iZXJcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdBcnJheVwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0FycmF5XCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnQm9vbGVhblwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ0Jvb2xlYW5cJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdEYXRlXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRGF0ZVwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ1JlZ0V4cFwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ1JlZ0V4cFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ0Vycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdFdmFsRXJyb3JcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdFdmFsRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdSYW5nZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnUmFuZ2VFcnJvclwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9IGVsc2UgaWYgKCB4ID09PSBcJ1JlZmVyZW5jZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnUmVmZXJlbmNlRXJyb3JcJyBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSIpO1xuJysKJyAgfSBlbHNlIGlmICggeCA9PT0gXCdTeW50YXhFcnJvclwnICkge1xuJysKJyAgICAkRVJST1IoIiMxOiBcJ1N5bnRheEVycm9yXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnVHlwZUVycm9yXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnVHlwZUVycm9yXCcgaGF2ZSBhdHRyaWJ1dGUgRG9udEVudW0iKTtcbicrCicgIH0gZWxzZSBpZiAoIHggPT09IFwnVVJJRXJyb3JcJyApIHtcbicrCicgICAgJEVSUk9SKCIjMTogXCdVUklFcnJvclwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9XG4nKwonfVxuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Constructor Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBhdHRyaWJ1dGVzIHsgRG9udEVudW0gfQogKgogKiBAcGF0aCBjaDEwLzEwLjIvMTAuMi4zL1MxMC4yLjNfQTIuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gR2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0IC0gT3RoZXIgUHJvcGVydGllcwogKi8KCnZhciBldmFsU3RyID0gCicvL0NIRUNLIzFcbicrCidmb3IgKHZhciB4IGluIHRoaXMpIHtcbicrCicgIGlmICggeCA9PT0gXCdNYXRoXCcgKSB7XG4nKwonICAgICRFUlJPUigiIzE6IFwnTWF0aFwnIGhhdmUgYXR0cmlidXRlIERvbnRFbnVtIik7XG4nKwonICB9XG4nKwonfVxuJzsKCmV2YWwoZXZhbFN0cik7Cgo=","commentary":"Global object properties have attributes { DontEnum }","description":"Global execution context - Other Properties","path":"TestCases/ch10/10.2/10.2.3/S10.2.3_A2.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBjYWxsIGVudGVycyBhIG5ldyBleGVjdXRpb24gY29udGV4dAogKgogKiBAcGF0aCBjaDEwLzEwLjQvUzEwLjRBMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWN1cnNpdmUgZnVuY3Rpb24gY2FsbAogKi8KCnZhciB5OwoKZnVuY3Rpb24gZihhKXsKICB2YXIgeDsKICAKICBpZiAoYSA9PT0gMSkgCiAgICByZXR1cm4geDsKICBlbHNlIHsKICAgIGlmKHggPT09IHVuZGVmaW5lZCkgewogICAgICB4ID0gMDsKICAgIH0gZWxzZSB7CiAgICAgIHggPSAxOwogICAgfQogICAgcmV0dXJuIGYoMSk7CiAgfQp9Cgp5ID0gZigwKTsKCmlmKCEoeSA9PT0gdW5kZWZpbmVkKSl7CiAgJEVSUk9SKCIjMTogUmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGxzIHNoYXJlcyBleGVjdXRpb24gY29udGV4dCIpOwp9Cgo=","commentary":"Every function call enters a new execution context","description":"Recursive function call","path":"TestCases/ch10/10.4/S10.4A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBjYWxsIGVudGVycyBhIG5ldyBleGVjdXRpb24gY29udGV4dAogKgogKiBAcGF0aCBjaDEwLzEwLjQvUzEwLjRfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2VxdWVuY2Ugb2YgZnVuY3Rpb24gY2FsbHMKICovCgp2YXIgeTsKCmZ1bmN0aW9uIGYoKXsKICB2YXIgeDsKICAKICBpZih4ID09PSB1bmRlZmluZWQpIHsKICAgIHggPSAwOwogIH0gZWxzZSB7CiAgICB4ID0gMTsKICB9CiAgCiAgcmV0dXJuIHg7Cn0KCnkgPSBmKCk7CnkgPSBmKCk7CgppZighKHkgPT09IDApKXsKICAkRVJST1IoIiMxOiBTZXF1ZW5jZWQgZnVuY3Rpb24gY2FsbHMgc2hhcmVzIGV4ZWN1dGlvbiBjb250ZXh0Iik7Cn0KCg==","commentary":"Every function call enters a new execution context","description":"Sequence of function calls","path":"TestCases/ch10/10.4/S10.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZSBpbnN0YW50aWF0aW9uIGlzIHBlcmZvcm1lZCB1c2luZyB0aGUgZ2xvYmFsIG9iamVjdCBhcwogKiB0aGUgdmFyaWFibGUgb2JqZWN0IGFuZCB1c2luZyBwcm9wZXJ0eSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9CiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjEvUzEwLjQuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdmFyaWFibGUgeCwgdGhhdCBpcyBkZWZpbmVkIGFzIHZhciB4ID0gMSwgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKdmFyIHggPSAxOwoKaWYgKHRoaXMueCAhPT0gMSkgewogICRFUlJPUigiIzE6IHZhcmlhYmxlIHggaXMgYSBwcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0Iik7Cn0KCmlmKGRlbGV0ZSB0aGlzLnggIT09IGZhbHNlKXsKICAkRVJST1IoIiMyOiB2YXJpYWJsZSB4IGhhcyBwcm9wZXJ0eSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIpOwp9Cgo=","commentary":"Variable instantiation is performed using the global object as\nthe variable object and using property attributes { DontDelete }","description":"Checking if deleting variable x, that is defined as var x = 1, fails","noStrict":"","path":"TestCases/ch10/10.4/10.4.1/S10.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYXJpYWJsZSBpbnN0YW50aWF0aW9uIGlzIHBlcmZvcm1lZCB1c2luZyB0aGUgZ2xvYmFsIG9iamVjdCBhcwogKiB0aGUgdmFyaWFibGUgb2JqZWN0IGFuZCB1c2luZyBwcm9wZXJ0eSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9CiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjEvUzEwLjQuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdmFyaWFibGUgeCwgdGhhdCBpcyBkZWZpbmVkIGFzIHggPSAxLCBmYWlscwogKiBAbm9TdHJpY3QKICovCgp4ID0gMTsKCmlmICh0aGlzLnggIT09IDEpIHsKICAkRVJST1IoIiMxOiB2YXJpYWJsZSB4IGlzIGEgcHJvcGVydHkgb2YgZ2xvYmFsIG9iamVjdCIpOwp9CgppZihkZWxldGUgdGhpcy54ICE9PSB0cnVlKXsKICAkRVJST1IoIiMyOiB2YXJpYWJsZSB4IGhhcyBwcm9wZXJ0eSBhdHRyaWJ1dGUgRG9udERlbGV0ZSIpOwp9Cgo=","commentary":"Variable instantiation is performed using the global object as\nthe variable object and using property attributes { DontDelete }","description":"Checking if deleting variable x, that is defined as x = 1, fails","noStrict":"","path":"TestCases/ch10/10.4/10.4.1/S10.4.1_A1_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dA0KICovDQoNCnZhciBfXzEwXzRfMl8xXzFfMSA9ICJzdHIiOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQoNCiAgICB2YXIgX2V2YWwgPSBldmFsOw0KICAgIHZhciBfXzEwXzRfMl8xXzFfMSA9ICJzdHIxIjsNCiAgICBpZihfZXZhbCgiXCdzdHJcJyA9PT0gX18xMF80XzJfMV8xXzEiKSA9PT0gdHJ1ZSAmJiAgLy8gaW5kaXJlY3QgZXZhbA0KICAgICAgIGV2YWwoIlwnc3RyMVwnID09PSBfXzEwXzRfMl8xXzFfMSIpID09PSB0cnVlKSB7ICAgLy8gZGlyZWN0IGV2YWwNCiAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogICAgcmV0dXJuIGZhbHNlOw0KICB9IGZpbmFsbHkgew0KICAgIGRlbGV0ZSB0aGlzLl9fMTBfNF8yXzFfMV8xOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Indirect call to eval has context set to global context","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dCAobmVzdGVkIGZ1bmN0aW9uKQ0KICovDQoNCnZhciBfXzEwXzRfMl8xXzIgPSAic3RyIjsNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KDQogICAgICAgICAgICB2YXIgX2V2YWwgPSBldmFsOw0KICAgICAgICAgICAgdmFyIF9fMTBfNF8yXzFfMiA9ICJzdHIxIjsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGZvbygpIHsNCiAgICAgICAgICAgICAgICB2YXIgX18xMF80XzJfMV8yID0gInN0cjIiOw0KICAgICAgICAgICAgICAgIGlmKF9ldmFsKCJcJ3N0clwnID09PSBfXzEwXzRfMl8xXzIiKSA9PT0gdHJ1ZSAmJiAgLy8gaW5kaXJlY3QgZXZhbA0KICAgICAgICAgICAgICAgICAgICBldmFsKCJcJ3N0cjJcJyA9PT0gX18xMF80XzJfMV8yIikgPT09IHRydWUpIHsgICAvLyBkaXJlY3QgZXZhbA0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZvbygpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIHRoaXMuX18xMF80XzJfMV8xXzI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Indirect call to eval has context set to global context (nested function)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dCAoY2F0Y2ggYmxvY2spDQogKi8NCg0KdmFyIF9fMTBfNF8yXzFfMyA9ICJzdHIiOw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgdmFyIF9ldmFsID0gZXZhbDsNCiAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzMgPSAic3RyMSI7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHRocm93ICJlcnJvciI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzMgPSAic3RyMiI7DQogICAgICAgICAgICAgICAgaWYgKF9ldmFsKCJcJ3N0clwnID09PSBfXzEwXzRfMl8xXzMiKSA9PT0gdHJ1ZSAmJiAgLy8gaW5kaXJlY3QgZXZhbA0KICAgICAgICAgICAgICAgICAgICBldmFsKCJcJ3N0cjJcJyA9PT0gX18xMF80XzJfMV8zIikgPT09IHRydWUpIHsgIC8vIGRpcmVjdCBldmFsDQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgdGhpcy5fXzEwXzRfMl8xXzM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Indirect call to eval has context set to global context (catch block)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMS00LmpzDQogKiBAZGVzY3JpcHRpb24gSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dCAod2l0aCBibG9jaykNCiAqLw0KDQp2YXIgX18xMF80XzJfMV80ID0gInN0ciI7DQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICAgICAgby5fXzEwXzRfMl8xXzQgPSAic3RyMiI7DQogICAgICAgICAgICB2YXIgX2V2YWwgPSBldmFsOw0KICAgICAgICAgICAgdmFyIF9fMTBfNF8yXzFfNCA9ICJzdHIxIjsNCiAgICAgICAgICAgIHdpdGggKG8pIHsNCiAgICAgICAgICAgICAgICBpZiAoX2V2YWwoIlwnc3RyXCcgPT09IF9fMTBfNF8yXzFfNCIpID09PSB0cnVlICYmICAvLyBpbmRpcmVjdCBldmFsDQogICAgICAgICAgICAgICAgICAgIGV2YWwoIlwnc3RyMlwnID09PSBfXzEwXzRfMl8xXzQiKSA9PT0gdHJ1ZSkgeyAgLy8gZGlyZWN0IGV2YWwNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIHRoaXMuX18xMF80XzJfMV80Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Indirect call to eval has context set to global context (with block)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMS01LmpzDQogKiBAZGVzY3JpcHRpb24gSW5kaXJlY3QgY2FsbCB0byBldmFsIGhhcyBjb250ZXh0IHNldCB0byBnbG9iYWwgY29udGV4dCAoaW5zaWRlIGFub3RoZXIgZXZhbCkNCiAqLw0KDQp2YXIgX18xMF80XzJfMV81ID0gInN0ciI7DQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgdmFyIF9fMTBfNF8yXzFfNSA9ICJzdHIxIjsNCiAgICAgICAgICAgIHZhciByID0gZXZhbCgiXA0KICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2V2YWwgPSBldmFsOyBcDQogICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfXzEwXzRfMl8xXzUgPSBcJ3N0cjJcJzsgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICBfZXZhbChcIlwnc3RyXCcgPT09IF9fMTBfNF8yXzFfNSBcIikgJiYgXA0KICAgICAgICAgICAgICAgICAgICAgICAgICBldmFsKFwiXCdzdHIyXCcgPT09IF9fMTBfNF8yXzFfNVwiKVwNCiAgICAgICAgICAgICAgICAgICAgICAgICIpOw0KICAgICAgICAgICAgcmV0dXJuIHI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgdGhpcy5fXzEwXzRfMl8xXzU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Indirect call to eval has context set to global context (inside another eval)","path":"TestCases/ch10/10.4/10.4.2/10.4.2-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMi1jLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBEaXJlY3QgdmFsIGNvZGUgaW4gbm9uLXN0cmljdCBtb2RlIC0gY2FuIGluc3RhbnRpYXRlIHZhcmlhYmxlIGluIGNhbGxpbmcgY29udGV4dA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciB4ID0gMDsNCiAgcmV0dXJuIGZ1bmN0aW9uIGlubmVyKCkgew0KICAgICBldmFsKCJ2YXIgeCA9IDEiKTsNCiAgICAgaWYgKHggPT09IDEpDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICB9ICgpOw0KICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Direct val code in non-strict mode - can instantiate variable in calling context","path":"TestCases/ch10/10.4/10.4.2/10.4.2-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBTdHJpY3QgbW9kZSBldmFsIGNvZGUgY2Fubm90IGluc3RhbnRpYXRlIGZ1bmN0aW9ucyBpbiB0aGUgdmFyaWFibGUgZW52aXJvbm1lbnQgb2YgdGhlIGNhbGxlciB0byBldmFsDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZXZhbCgiKGZ1bmN0aW9uIGZ1bih4KXsgcmV0dXJuIHggfSkoMTApIik7DQogICAgICAgIHJldHVybiB0eXBlb2YgKGZ1bikgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMy1jLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIERpcmVjdCBldmFsIGNvZGUgaW4gc3RyaWN0IG1vZGUgLSBjYW5ub3QgaW5zdGFudGlhdGUgdmFyaWFibGUgaW4gdGhlIHZhcmlhYmxlIGVudmlyb25tZW50IG9mIHRoZSBjYWxsaW5nIGNvbnRleHQNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIF8xMF80XzJfM19jXzFfcyA9IDA7DQogIGZ1bmN0aW9uIF8xMF80XzJfM19jXzFfc0Z1bmMoKSB7DQogICAgIGV2YWwoIid1c2Ugc3RyaWN0Jzt2YXIgXzEwXzRfMl8zX2NfMV9zID0gMSIpOw0KICAgICByZXR1cm4gXzEwXzRfMl8zX2NfMV9zPT09MDsNCiAgfSANCiAgcmV0dXJuIF8xMF80XzJfM19jXzFfc0Z1bmMoKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Direct eval code in strict mode - cannot instantiate variable in the variable environment of the calling context","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-3-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjItMy1jLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIENhbGxpbmcgY29kZSBpbiBzdHJpY3QgbW9kZSAtIGV2YWwgY2Fubm90IGluc3RhbnRpYXRlIHZhcmlhYmxlIGluIHRoZSB2YXJpYWJsZSBlbnZpcm9ubWVudCBvZiB0aGUgY2FsbGluZyBjb250ZXh0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBfMTBfNF8yXzNfY18yX3MgPSAwOw0KICBmdW5jdGlvbiBfMTBfNF8yXzNfY18yX3NGdW5jKCkgew0KICAgICAndXNlIHN0cmljdCc7DQogICAgIGV2YWwoInZhciBfMTBfNF8yXzNfY18yX3MgPSAxIik7DQogICAgIHJldHVybiBfMTBfNF8yXzNfY18yX3M9PT0wOw0KICB9DQogIHJldHVybiBfMTBfNF8yXzNfY18yX3NGdW5jKCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Calling code in strict mode - eval cannot instantiate variable in the variable environment of the calling context","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2-3-c-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjIuMS0xZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGV2YWwgY29kZSBjYW5ub3QgaW5zdGFudGlhdGUgdmFyaWFibGUgaW4gdGhlIHZhcmlhYmxlIGVudmlyb25tZW50IG9mIHRoZSBjYWxsaW5nIGNvbnRleHQgdGhhdCBpbnZva2VkIHRoZSBldmFsIGlmIHRoZSBjb2RlIG9mIHRoZSBjYWxsaW5nIGNvbnRleHQgaXMgc3RyaWN0IGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KDQoidXNlIHN0cmljdCI7DQpldmFsKCJ2YXIgeCA9IDc7Iik7DQp4ID0gOTsNCnRocm93IE5vdEVhcmx5RXJyb3I7DQo=","commentary":"","description":"Strict Mode - eval code cannot instantiate variable in the variable environment of the calling context that invoked the eval if the code of the calling context is strict code","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjIuMS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN0cmljdCBtb2RlIGV2YWwgY29kZSBjYW5ub3QgaW5zdGFudGlhdGUgZnVuY3Rpb25zIGluIHRoZSB2YXJpYWJsZSBlbnZpcm9ubWVudCBvZiB0aGUgY2FsbGVyIHRvIGV2YWwNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIGV2YWwoImZ1bmN0aW9uIF8xMF80XzJfMV8yX2Z1bigpe30iKTsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBfMTBfNF8yXzFfMl9mdW4gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMi8xMC40LjIuMS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN0cmljdCBtb2RlIGV2YWwgY29kZSBjYW5ub3QgaW5zdGFudGlhdGUgZnVuY3Rpb25zIGluIHRoZSB2YXJpYWJsZSBlbnZpcm9ubWVudCBvZiB0aGUgY2FsbGVyIHRvIGV2YWwgd2hpY2ggaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBldmFsKCIndXNlIHN0cmljdCc7IGZ1bmN0aW9uIF8xMF80XzJfMV80X2Z1bigpe30iKTsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBfMTBfNF8yXzFfNF9mdW4gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Strict mode eval code cannot instantiate functions in the variable environment of the caller to eval which is contained in strict mode code","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/10.4.2.1-4-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDEwLzEwLjQvMTAuNC4yL1MxMC40LjIuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaWN0IGluZGlyZWN0IGV2YWwgc2hvdWxkIG5vdCBsZWFrIHRvcCBsZXZlbAogKiBkZWNsYXJhdGlvbnMgaW50byB0aGUgZ2xvYmFsIHNjb3BlCiAqIEBvbmx5U3RyaWN0CiAqLwoKInVzZSBzdHJpY3QiOwppZiAoISgnZm9vJyBpbiB0aGlzKSkgewogICgxLGV2YWwpKCcidXNlIHN0cmljdCI7IHZhciBmb28gPSA4ODsnKTsKICBpZiAoJ2ZvbycgaW4gdGhpcykgewogICAgJEVSUk9SKCJTdHJpY3QgaW5kaXJlY3QgZXZhbCBsZWFrZWQgYSB0b3AgbGV2ZWwgZGVjbGFyYXRpb24iKTsKICB9Cn0K","commentary":"","description":"Strict indirect eval should not leak top level\ndeclarations into the global scope","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.2/S10.4.2.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKeSA9IDI7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKdmFyIGk7CnZhciBqOwpzdHIxID0gJyc7CnN0cjIgPSAnJzsKdmFyIHggPSAxOwp2YXIgeSA9IDI7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKdmFyIGk7CnZhciBqOwpzdHIxID0gJyc7CnN0cjIgPSAnJzsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp0aGlzLnggPSAxOwp0aGlzLnkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnZhciB4ID0gMTsKdmFyIHkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwp0aGlzLnkgPSAyOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp2YXIgeCA9IDE7Cgpmb3IoaSBpbiB0aGlzKXsKICBzdHIxKz1pOwp9CgpldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgppZighKHN0cjEgPT09IHN0cjIpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoKdmFyIHkgPSAyOwoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnRoaXMueSA9IDI7Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp4ID0gMTsKCmZvcihpIGluIHRoaXMpewogIHN0cjErPWk7Cn0KCmV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCmlmKCEoc3RyMSA9PT0gc3RyMikpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgp2YXIgeSA9IDI7Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwp0aGlzLnggPSAxOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnZhciB5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4xX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgp2YXIgaTsKdmFyIGo7CnN0cjEgPSAnJzsKc3RyMiA9ICcnOwoKZm9yKGkgaW4gdGhpcyl7CiAgc3RyMSs9aTsKfQoKZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKaWYoIShzdHIxID09PSBzdHIyKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCnggPSAxOwp5ID0gMjsKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICB5ID0gMjsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOyAKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqLwoKZnVuY3Rpb24gZigpewogIHZhciBpOwogIHZhciBqOwogIHN0cjEgPSAnJzsKICBzdHIyID0gJyc7CiAgdmFyIHggPSAxOwogIHZhciB5ID0gMjsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsgCn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9Cgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gZXZhbCB3aXRoaW4gZ2xvYmFsIGV4ZWN1dGlvbiBjb250ZXh0CiAqIEBub1N0cmljdAogKi8KCmZ1bmN0aW9uIGYoKXsKICB2YXIgaTsKICB2YXIgajsKICBzdHIxID0gJyc7CiAgc3RyMiA9ICcnOwoKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQoKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7CgogIHRoaXMueCA9IDE7CiAgdGhpcy55ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","noStrict":"","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICB2YXIgeCA9IDE7CiAgdmFyIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIHRoaXMueSA9IDI7CiAgCiAgZm9yKGkgaW4gdGhpcyl7CiAgICBzdHIxKz1pOwogIH0KICAKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7IAp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsgCgogIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB2YXIgeCA9IDE7CiAgCiAgZm9yKGkgaW4gdGhpcyl7CiAgICBzdHIxKz1pOwogIH0KICAKICBldmFsKCdmb3IoaiBpbiB0aGlzKXtcbnN0cjIrPWo7XG59Jyk7CgogIHJldHVybiAoc3RyMSA9PT0gc3RyMik7CiAgCiAgdmFyIHkgPSAyOwp9CgppZighZigpKXsKICAkRVJST1IoIiMxOiBzY29wZSBjaGFpbiBtdXN0IGNvbnRhaW4gc2FtZSBvYmplY3RzIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBjYWxsaW5nIGNvbnRleHQiKTsKfQoKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIAogIGZvcihpIGluIHRoaXMpewogICAgc3RyMSs9aTsKICB9CiAgCiAgZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOwogIAogIHRoaXMueSA9IDI7Cn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9CgoK","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB4ID0gMTsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICAKICB2YXIgeSA9IDI7Cn0KCmlmKCFmKCkpewogICRFUlJPUigiIzE6IHNjb3BlIGNoYWluIG11c3QgY29udGFpbiBzYW1lIG9iamVjdHMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGNhbGxpbmcgY29udGV4dCIpOwp9CgoKCg==","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICB0aGlzLnggPSAxOwogIAogIGZvcihpIGluIHRoaXMpewogICAgc3RyMSs9aTsKICB9CiAgCiAgZXZhbCgnZm9yKGogaW4gdGhpcyl7XG5zdHIyKz1qO1xufScpOwoKICByZXR1cm4gKHN0cjEgPT09IHN0cjIpOwogIAogIHZhciB5ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2NvcGUgY2hhaW4gaXMgaW5pdGlhbGlzZWQgdG8gY29udGFpbiB0aGUgc2FtZSBvYmplY3RzLAogKiBpbiB0aGUgc2FtZSBvcmRlciwgYXMgdGhlIGNhbGxpbmcgY29udGV4dCdzIHNjb3BlIGNoYWluCiAqCiAqIEBwYXRoIGNoMTAvMTAuNC8xMC40LjIvUzEwLjQuMl9BMS4yX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsIHdpdGhpbiBnbG9iYWwgZXhlY3V0aW9uIGNvbnRleHQKICovCgpmdW5jdGlvbiBmKCl7CiAgdmFyIGk7CiAgdmFyIGo7CiAgc3RyMSA9ICcnOwogIHN0cjIgPSAnJzsKICAKICBmb3IoaSBpbiB0aGlzKXsKICAgIHN0cjErPWk7CiAgfQogIAogIGV2YWwoJ2ZvcihqIGluIHRoaXMpe1xuc3RyMis9ajtcbn0nKTsKCiAgcmV0dXJuIChzdHIxID09PSBzdHIyKTsKICAKICB4ID0gMTsKICB5ID0gMjsKfQoKaWYoIWYoKSl7CiAgJEVSUk9SKCIjMTogc2NvcGUgY2hhaW4gbXVzdCBjb250YWluIHNhbWUgb2JqZWN0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgY2FsbGluZyBjb250ZXh0Iik7Cn0KCgo=","commentary":"The scope chain is initialised to contain the same objects,\nin the same order, as the calling context's scope chain","description":"eval within global execution context","path":"TestCases/ch10/10.4/10.4.2/S10.4.2_A1.2_T9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoTnVtYmVyKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KDQoNCiAgcmV0dXJuIGZvby5jYWxsKDEpID09PSAnbnVtYmVyJyAmJiBiYXIuY2FsbCgxKSA9PT0gJ29iamVjdCc7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"this is not coerced to an object in strict mode (Number)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KcmV0dXJuIGYoKSA9PT0gInVuZGVmaW5lZCI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-10-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDAtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChzdHJpY3QgZnVuY3Rpb24gcGFzc2VkIGFzIGFyZyB0byBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgZnJvbSBub24tc3RyaWN0IGNvbnRleHQpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciB4ID0gMzsNCg0KZnVuY3Rpb24gZigpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgeCA9IHRoaXM7DQogICAgcmV0dXJuICJhIjsNCn0NCnJldHVybiAoImFiIi5yZXBsYWNlKCJiIiwgZik9PT0iYWEiKSAmJiAoeD09PXVuZGVmaW5lZCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function passed as arg to String.prototype.replace from non-strict context)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-100-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDBncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChzdHJpY3QgZnVuY3Rpb24gcGFzc2VkIGFzIGFyZyB0byBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgZnJvbSBub24tc3RyaWN0IGNvbnRleHQpDQogKiBAb25seVN0cmljdA0KICovDQp2YXIgeCA9IDM7DQoNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHggPSB0aGlzOw0KICAgIHJldHVybiAiYSI7DQp9DQppZiAoKCJhYiIucmVwbGFjZSgiYiIsIGYpIT09ImFhIikgfHwgKHghPT11bmRlZmluZWQpKSB7DQogICAgICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict Mode - checking 'this' (strict function passed as arg to String.prototype.replace from non-strict context)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-100gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChub24tc3RyaWN0IGZ1bmN0aW9uIHBhc3NlZCBhcyBhcmcgdG8gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIGZyb20gc3RyaWN0IGNvbnRleHQpDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgeCA9IDM7DQoNCmZ1bmN0aW9uIGYoKSB7DQogICAgeCA9IHRoaXM7DQogICAgcmV0dXJuICJhIjsNCn0NCg0KcmV0dXJuIChmdW5jdGlvbigpIHsidXNlIHN0cmljdCI7IHJldHVybiAiYWIiLnJlcGxhY2UoImIiLCBmKT09PSJhYSI7fSgpKSAmJiAoeD09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function passed as arg to String.prototype.replace from strict context)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-101-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChub24tc3RyaWN0IGZ1bmN0aW9uIHBhc3NlZCBhcyBhcmcgdG8gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIGZyb20gc3RyaWN0IGNvbnRleHQpDQogKiBAbm9TdHJpY3QNCiAqLw0KdmFyIHggPSAzOw0KDQpmdW5jdGlvbiBmKCkgew0KICAgIHggPSB0aGlzOw0KICAgIHJldHVybiAiYSI7DQp9DQoNCmlmICggKCEoZnVuY3Rpb24oKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gImFiIi5yZXBsYWNlKCJiIiwgZik9PT0iYWEiO30oKSkpIHx8ICh4IT09Zm5HbG9iYWxPYmplY3QoKSkpIHsNCiAgICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function passed as arg to String.prototype.replace from strict context)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-101gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChzdHJpY3QgYW5vbnltb3VzIGZ1bmN0aW9uIHBhc3NlZCBhcyBhcmcgdG8gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIGZyb20gbm9uLXN0cmljdCBjb250ZXh0KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgeCA9IDM7DQoNCnJldHVybiAoImFiIi5yZXBsYWNlKCJiIiwgKGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHggPSB0aGlzOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJhIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSk9PT0iYWEiKSAmJiAoeD09PXVuZGVmaW5lZCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict anonymous function passed as arg to String.prototype.replace from non-strict context)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-102-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMDJncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gY2hlY2tpbmcgJ3RoaXMnIChzdHJpY3QgYW5vbnltb3VzIGZ1bmN0aW9uIHBhc3NlZCBhcyBhcmcgdG8gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIGZyb20gbm9uLXN0cmljdCBjb250ZXh0KQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KdmFyIHggPSAzOw0KaWYgKCAoImFiIi5yZXBsYWNlKCJiIiwgKGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHggPSB0aGlzOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJhIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSkhPT0iYWEiKSB8fCAoeCE9PXVuZGVmaW5lZCkpIHsNCiAgICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict Mode - checking 'this' (strict anonymous function passed as arg to String.prototype.replace from non-strict context)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-102gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KaWYgKGYoKSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-10gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0pKCkgPT09ICJ1bmRlZmluZWQiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-11-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmlmICgoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0pKCkgIT09ICJ1bmRlZmluZWQiKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQoNCg==","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-11gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0pKCkgPT09ICJ1bmRlZmluZWQiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-12-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KaWYgKChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0eXBlb2YgdGhpczsNCn0pKCkgIT09ICJ1bmRlZmluZWQiKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-12gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgZiA9IEZ1bmN0aW9uKCJyZXR1cm4gdHlwZW9mIHRoaXM7Iik7DQpyZXR1cm4gZigpICE9PSAidW5kZWZpbmVkIjsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Function constructor defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-13-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xM2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgZiA9IEZ1bmN0aW9uKCJyZXR1cm4gdHlwZW9mIHRoaXM7Iik7DQppZiAoZigpID09PSAidW5kZWZpbmVkIikgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Function constructor defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-13gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBmID0gRnVuY3Rpb24oIlwidXNlIHN0cmljdFwiO1xucmV0dXJuIHR5cGVvZiB0aGlzOyIpOw0KcmV0dXJuIGYoKSA9PT0gInVuZGVmaW5lZCI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (Function constructor includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-14-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBmID0gRnVuY3Rpb24oIlwidXNlIHN0cmljdFwiO1xucmV0dXJuIHR5cGVvZiB0aGlzOyIpOw0KaWYgKGYoKSAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Function constructor includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-14gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBGdW5jdGlvbiBjb25zdHJ1Y3RvciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiB0eXBlb2YgdGhpczsiKTsNCnJldHVybiBmKCkgIT09ICJ1bmRlZmluZWQiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (New'ed Function constructor defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-15-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBGdW5jdGlvbiBjb25zdHJ1Y3RvciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiB0eXBlb2YgdGhpczsiKTsNCmlmIChmKCkgPT09ICJ1bmRlZmluZWQiKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed Function constructor defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-15gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgZiA9IG5ldyBGdW5jdGlvbigiXCJ1c2Ugc3RyaWN0XCI7XG5yZXR1cm4gdHlwZW9mIHRoaXM7Iik7DQpyZXR1cm4gZigpID09PSAidW5kZWZpbmVkIjsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (New'ed Function constructor includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-16-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgZiA9IG5ldyBGdW5jdGlvbigiXCJ1c2Ugc3RyaWN0XCI7XG5yZXR1cm4gdHlwZW9mIHRoaXM7Iik7DQppZiAoZigpICE9PSAidW5kZWZpbmVkIikgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed Function constructor includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-16gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKGV2YWwgdXNlZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnJldHVybiAoZXZhbCgidHlwZW9mIHRoaXMiKSA9PT0gInVuZGVmaW5lZCIpICYmIChldmFsKCJ0aGlzIikgIT09IGZuR2xvYmFsT2JqZWN0KCkpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (eval used within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-17-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xN2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKGV2YWwgdXNlZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmlmIChldmFsKCJ0aGlzIikgIT09IGZuR2xvYmFsT2JqZWN0KCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (eval used within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-17gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKGluZGlyZWN0IGV2YWwgdXNlZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnZhciBteV9ldmFsID0gZXZhbDsNCnJldHVybiBteV9ldmFsKCJ0aGlzIikgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (indirect eval used within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-19-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0xOWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKGluZGlyZWN0IGV2YWwgdXNlZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnZhciBteV9ldmFsID0gZXZhbDsNCmlmIChteV9ldmFsKCJ0aGlzIikgIT09IGZuR2xvYmFsT2JqZWN0KCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (indirect eval used within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-19gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoc3RyaW5nKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KDQoNCiAgcmV0dXJuIGZvby5jYWxsKCcxJykgPT09ICdzdHJpbmcnICYmIGJhci5jYWxsKCcxJykgPT09ICdvYmplY3QnOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"this is not coerced to an object in strict mode (string)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKGluZGlyZWN0IGV2YWwgaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIG15X2V2YWwgPSBldmFsOw0KcmV0dXJuIG15X2V2YWwoIlwidXNlIHN0cmljdFwiO1xudGhpcyIpID09PSBmbkdsb2JhbE9iamVjdCgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (indirect eval includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-20-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKGluZGlyZWN0IGV2YWwgaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KdmFyIG15X2V2YWwgPSBldmFsOw0KaWYgKG15X2V2YWwoIlwidXNlIHN0cmljdFwiO1xudGhpcyIpICE9PSBmbkdsb2JhbE9iamVjdCgpICkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (indirect eval includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-20gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkRlY2xhcmF0aW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmKCkgew0KICAgIHJldHVybiB0aGlzOw0KfQ0KcmV0dXJuICggKG5ldyBmKCkpIT09Zm5HbG9iYWxPYmplY3QoKSkgJiYgKHR5cGVvZiAobmV3IGYoKSkgIT09ICJ1bmRlZmluZWQiKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-21-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkRlY2xhcmF0aW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmKCkgew0KICAgIHJldHVybiB0aGlzOw0KfQ0KaWYgKCgobmV3IGYoKSkgPT09IGZuR2xvYmFsT2JqZWN0KCkpIHx8ICh0eXBlb2YgKG5ldyBmKCkpID09PSAidW5kZWZpbmVkIikpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg0K","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-21gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0aGlzOw0KfQ0KcmV0dXJuICggKG5ldyBmKCkpIT09Zm5HbG9iYWxPYmplY3QoKSkgJiYgKHR5cGVvZiAobmV3IGYoKSkgIT09ICJ1bmRlZmluZWQiKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-22-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0aGlzOw0KfQ0KaWYgKCgobmV3IGYoKSkgPT09IGZuR2xvYmFsT2JqZWN0KCkpIHx8ICh0eXBlb2YgKG5ldyBmKCkpID09PSAidW5kZWZpbmVkIikpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg0K","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-22gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnZhciBmID0gZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiB0aGlzOw0KfQ0KcmV0dXJuICggKG5ldyBmKCkpIT09Zm5HbG9iYWxPYmplY3QoKSkgJiYgKHR5cGVvZiAobmV3IGYoKSkgIT09ICJ1bmRlZmluZWQiKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-23-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yM2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnZhciBmID0gZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiB0aGlzOw0KfQ0KaWYgKCgobmV3IGYoKSkgPT09IGZuR2xvYmFsT2JqZWN0KCkpIHx8ICh0eXBlb2YgKG5ldyBmKCkpID09PSAidW5kZWZpbmVkIikpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-23gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkV4cHJlc3Npb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0aGlzOw0KfQ0KcmV0dXJuICggKG5ldyBmKCkpIT09Zm5HbG9iYWxPYmplY3QoKSkgJiYgKHR5cGVvZiAobmV3IGYoKSkgIT09ICJ1bmRlZmluZWQiKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-24-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBGdW5jdGlvbkV4cHJlc3Npb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiB0aGlzOw0KfQ0KaWYgKCgobmV3IGYoKSkgPT09IGZuR2xvYmFsT2JqZWN0KCkpIHx8ICh0eXBlb2YgKG5ldyBmKCkpID09PSAidW5kZWZpbmVkIikpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-24gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgb2JqID0gbmV3IChmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuIHRoaXM7DQp9KTsNCnJldHVybiAob2JqICE9PSBmbkdsb2JhbE9iamVjdCgpKSAmJiAoKHR5cGVvZiBvYmopICE9PSAidW5kZWZpbmVkIik7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from Anonymous FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-25-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgb2JqID0gbmV3IChmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuIHRoaXM7DQp9KTsNCmlmICgob2JqID09PSBmbkdsb2JhbE9iamVjdCgpKSB8fCAodHlwZW9mIG9iaiA9PT0gInVuZGVmaW5lZCIpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQoNCg==","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from Anonymous FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-25gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKE5ldydlZCBvYmplY3QgZnJvbSBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBvYmogPSBuZXcgKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHRoaXM7DQp9KTsNCnJldHVybiAob2JqICE9PSBmbkdsb2JhbE9iamVjdCgpKSAmJiAoKHR5cGVvZiBvYmopICE9PSAidW5kZWZpbmVkIik7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (New'ed object from Anonymous FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-26-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKE5ldydlZCBvYmplY3QgZnJvbSBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBvYmogPSBuZXcgKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHRoaXM7DQp9KTsNCmlmICgob2JqID09PSBmbkdsb2JhbE9iamVjdCgpKSB8fCAodHlwZW9mIG9iaiA9PT0gInVuZGVmaW5lZCIpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (New'ed object from Anonymous FunctionExpression includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-26gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZjEoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-27-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yN2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZjEoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-27gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-28-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-28gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZjEoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-29-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0yOWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZjEoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within a FunctionDeclaration inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-29gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAodW5kZWZpbmVkKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgJ3VzZSBzdHJpY3QnOw0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KICBmdW5jdGlvbiBiYXIoKQ0KICB7DQogICAgcmV0dXJuIHR5cGVvZih0aGlzKTsNCiAgfQ0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKSA9PT0gJ3VuZGVmaW5lZCcgJiYgYmFyLmNhbGwoKSA9PT0gJ29iamVjdCc7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"this is not coerced to an object in strict mode (undefined)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-30-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-30gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-31-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-31gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-32-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within a FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-32gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-33-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zM2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmlmICghICgoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-33gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-34-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KaWYgKCEgKChmdW5jdGlvbiAoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-34gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCnJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0pKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-35-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmlmICghICgoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0pKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within an Anonymous FunctionExpression inside strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-35gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-36-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmMSgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-36gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYxKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-37-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zN2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYxKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-37gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-38-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zOGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmMSgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within a FunctionDeclaration with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-38gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-39-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS0zOWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-39gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoYm9vbGVhbikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICByZXR1cm4gdHlwZW9mKHRoaXMpOw0KICB9DQoNCiAgZnVuY3Rpb24gYmFyKCkNCiAgew0KICAgIHJldHVybiB0eXBlb2YodGhpcyk7DQogIH0NCg0KDQogIHJldHVybiBmb28uY2FsbCh0cnVlKSA9PT0gJ2Jvb2xlYW4nICYmIGJhci5jYWxsKHRydWUpID09PSAnb2JqZWN0JzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"this is not coerced to an object in strict mode (boolean)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIGYxID0gZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-40-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KdmFyIGYxID0gZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-40gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCnJldHVybiBmMSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-41-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAoKHR5cGVvZiB0aGlzKT09PSJ1bmRlZmluZWQiKTsNCn0NCmlmICghIGYxKCkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within a FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-41gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-42-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KaWYgKCEgKChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-42gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-43-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQppZiAoISAoKGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9DQogICAgcmV0dXJuIChmKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-43gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0pKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-44-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KaWYgKCEgKChmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0pKCk9PT0idW5kZWZpbmVkIikgJiYgKCh0eXBlb2YgdGhpcyk9PT0idW5kZWZpbmVkIik7DQp9KSgpKSkgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression defined within an Anonymous FunctionExpression with a strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-44gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZjEoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-45-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZjEoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-45gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-46-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmMSgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-46gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZjEoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9KSgpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-47-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZjEoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9KSgpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression with a strict directive prologue defined within a FunctionDeclaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-47gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-48-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KDQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-48gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-49-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS00OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQoNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfQ0KICAgIHJldHVybiAoZigpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-49gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01LXMuanMNCiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIG5vdCBjb2VyY2VkIHRvIGFuIG9iamVjdCBpbiBzdHJpY3QgbW9kZSAoZnVuY3Rpb24pDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICByZXR1cm4gdHlwZW9mKHRoaXMpOw0KICB9IA0KDQogIGZ1bmN0aW9uIGJhcigpDQogIHsNCiAgICByZXR1cm4gdHlwZW9mKHRoaXMpOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vYmFyKCkNCiAgew0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKGZvb2JhcikgPT09ICdmdW5jdGlvbicgJiYgYmFyLmNhbGwoZm9vYmFyKSA9PT0gJ2Z1bmN0aW9uJzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"this is not coerced to an object in strict mode (function)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9KSgpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQpyZXR1cm4gZjEoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-50-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24pDQogKiBAbm9TdHJpY3QNCiAqLw0KDQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuICgoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGhpczsNCiAgICB9KSgpPT09InVuZGVmaW5lZCIpICYmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSk7DQp9DQppZiAoISBmMSgpKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression with a strict directive prologue defined within a FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-50gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-51-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQoNCmlmICghICgoZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKSkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-51gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-52-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KaWYgKCEgKChmdW5jdGlvbiAoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KICAgIH0NCiAgICByZXR1cm4gKGYoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKSkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-52gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Anonymous FunctionExpression with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-53-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUgZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICovDQoNCmlmICghICgoZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiAoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQogICAgfSkoKT09PSJ1bmRlZmluZWQiKSAmJiAodGhpcz09PWZuR2xvYmFsT2JqZWN0KCkpOw0KfSkoKSkpIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Anonymous FunctionExpression with a strict directive prologue defined within an Anonymous FunctionExpression)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-53gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKExpdGVyYWwgZ2V0dGVyIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgbyA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIHRoaXM7IH0gfQ0KcmV0dXJuIG8uZm9vPT09bzsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Literal getter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-54-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKExpdGVyYWwgZ2V0dGVyIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgbyA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIHRoaXM7IH0gfQ0KaWYgKG8uZm9vIT09bykgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Literal getter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-54gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKExpdGVyYWwgZ2V0dGVyIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBvID0geyBnZXQgZm9vKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzOyB9IH0NCnJldHVybiBvLmZvbz09PW87DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (Literal getter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-55-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKExpdGVyYWwgZ2V0dGVyIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBvID0geyBnZXQgZm9vKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzOyB9IH0NCmlmIChvLmZvbyE9PW8pIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (Literal getter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-55gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKExpdGVyYWwgc2V0dGVyIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgeCA9IDI7DQp2YXIgbyA9IHsgc2V0IGZvbyhzdHVmZikgeyB4PXRoaXM7IH0gfQ0Kby5mb28gPSAzOw0KcmV0dXJuIHg9PT1vOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Literal setter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-56-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKExpdGVyYWwgc2V0dGVyIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgeCA9IDI7DQp2YXIgbyA9IHsgc2V0IGZvbyhzdHVmZikgeyB4PXRoaXM7IH0gfQ0Kby5mb28gPSAzOw0KaWYgKHghPT1vKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (Literal setter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-56gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKExpdGVyYWwgc2V0dGVyIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciB4ID0gMjsNCnZhciBvID0geyBzZXQgZm9vKHN0dWZmKSB7ICJ1c2Ugc3RyaWN0IjsgeD10aGlzOyAgfSB9DQpvLmZvbyA9IDM7DQpyZXR1cm4geD09PW87DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (Literal setter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-57-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKExpdGVyYWwgc2V0dGVyIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciB4ID0gMjsNCnZhciBvID0geyBzZXQgZm9vKHN0dWZmKSB7ICJ1c2Ugc3RyaWN0IjsgeD10aGlzOyAgfSB9DQpvLmZvbyA9IDM7DQppZiAoeCE9PW8pIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (Literal setter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-57gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEluamVjdGVkIGdldHRlciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KdmFyIG8gPSB7fTsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgIHsgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0gfSk7DQpyZXR1cm4gby5mb289PT1vOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Injected getter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-58-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEluamVjdGVkIGdldHRlciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdmFyIG8gPSB7fTsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgIHsgZ2V0IDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9IH0pOw0KaWYgKG8uZm9vIT09bykgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Injected getter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-58gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEluamVjdGVkIGdldHRlciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgbyA9IHt9Ow0KT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IGdldDogZnVuY3Rpb24oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM7IH0gfSk7DQpyZXR1cm4gby5mb289PT1vOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (Injected getter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-59-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS01OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEluamVjdGVkIGdldHRlciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgbyA9IHt9Ow0KT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IGdldDogZnVuY3Rpb24oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM7IH0gfSk7DQppZiAoby5mb28hPT1vKSB7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (Injected getter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-59gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEluamVjdGVkIHNldHRlciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KInVzZSBzdHJpY3QiOw0KdmFyIG8gPSB7fTsNCnZhciB4ID0gMjsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgeyBzZXQ6IGZ1bmN0aW9uKHN0dWZmKSB7IHg9dGhpczsgfSB9KTsNCm8uZm9vID0gMzsNCnJldHVybiB4PT09bzsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (Injected setter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-60-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEluamVjdGVkIHNldHRlciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdmFyIG8gPSB7fTsNCnZhciB4ID0gMjsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgeyBzZXQ6IGZ1bmN0aW9uKHN0dWZmKSB7IHg9dGhpczsgfSB9KTsNCm8uZm9vID0gMzsNCmlmICh4IT09bykgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (Injected setter defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-60gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKEluamVjdGVkIHNldHRlciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgbyA9IHt9Ow0KdmFyIHggPSAyOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IHNldDogZnVuY3Rpb24oc3R1ZmYpIHsgInVzZSBzdHJpY3QiOyB4PXRoaXM7IH0gfSk7DQpvLmZvbyA9IDM7DQpyZXR1cm4geD09PW87DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (Injected setter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-61-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKEluamVjdGVkIHNldHRlciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgbyA9IHt9Ow0KdmFyIHggPSAyOw0KT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IHNldDogZnVuY3Rpb24oc3R1ZmYpIHsgInVzZSBzdHJpY3QiOyB4PXRoaXM7IH0gfSk7DQpvLmZvbyA9IDM7DQppZiAoeCE9PW8pIHsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (Injected setter includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-61gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpczt9Ow0KZnVuY3Rpb24gZm9vKCkgeyByZXR1cm4gZigpO30NCnJldHVybiBmb28oKT09PXVuZGVmaW5lZDsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by non-strict function declaration)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-62-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpczt9Ow0KZnVuY3Rpb24gZm9vKCkgeyByZXR1cm4gZigpO30NCmlmIChmb28oKSE9PXVuZGVmaW5lZCl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by non-strict function declaration)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-62gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBldmFsKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQpyZXR1cm4gZXZhbCgiZigpOyIpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by non-strict eval)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-63-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBldmFsKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQppZiAoISBldmFsKCJmKCk7Iikpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by non-strict eval)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-63gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBGdW5jdGlvbiBjb25zdHJ1Y3RvcikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZm5HbG9iYWxPYmplY3QoKS5mID0gZnVuY3Rpb24oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCnJldHVybiBGdW5jdGlvbigicmV0dXJuIGYoKTsiKSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by non-strict Function constructor)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-64-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBGdW5jdGlvbiBjb25zdHJ1Y3RvcikNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KaWYgKCEgKEZ1bmN0aW9uKCJyZXR1cm4gZigpOyIpKCkpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by non-strict Function constructor)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-64gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBuZXcnZWQgRnVuY3Rpb24gY29uc3RydWN0b3IpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZuR2xvYmFsT2JqZWN0KCkuZiA9IGZ1bmN0aW9uKCkgIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KcmV0dXJuIChuZXcgRnVuY3Rpb24oInJldHVybiBmKCk7IikpKCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by non-strict new'ed Function constructor)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-65-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgbm9uLXN0cmljdCBuZXcnZWQgRnVuY3Rpb24gY29uc3RydWN0b3IpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCmlmICghICggKG5ldyBGdW5jdGlvbigicmV0dXJuIGYoKTsiKSkgKCkgKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by non-strict new'ed Function constructor)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-65gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCnJldHVybiBmLmFwcGx5KCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.apply())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-66-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCmlmICghIGYuYXBwbHkoKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.apply())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-66gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KG51bGwpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09bnVsbDt9Ow0KcmV0dXJuIGYuYXBwbHkobnVsbCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.apply(null))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-67-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KG51bGwpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09bnVsbDt9Ow0KaWYgKCEgZi5hcHBseShudWxsKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.apply(null))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-67gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KHVuZGVmaW5lZCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCnJldHVybiBmLmFwcGx5KHVuZGVmaW5lZCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.apply(undefined))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-68-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KHVuZGVmaW5lZCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT11bmRlZmluZWQ7fTsNCmlmICghIGYuYXBwbHkodW5kZWZpbmVkKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.apply(undefined))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-68gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KHNvbWVPYmplY3QpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgbyA9IHt9Ow0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PW87fTsNCnJldHVybiBmLmFwcGx5KG8pOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.apply(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-69-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS02OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KHNvbWVPYmplY3QpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgbyA9IHt9Ow0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PW87fTsNCmlmICghIGYuYXBwbHkobykpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.apply(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-69gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGNoZWNraW5nICd0aGlzJyAoRnVuY3Rpb25EZWNsYXJhdGlvbiBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiJ1c2Ugc3RyaWN0IjsNCmZ1bmN0aW9uIGYoKSB7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KcmV0dXJuIGYoKSA9PT0gInVuZGVmaW5lZCI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KGdsb2JhbE9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM7fTsNCnJldHVybiBmLmFwcGx5KGZuR2xvYmFsT2JqZWN0KCkpID09PSBmbkdsb2JhbE9iamVjdCgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.apply(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-70-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KGdsb2JhbE9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM7fTsNCmlmIChmLmFwcGx5KGZuR2xvYmFsT2JqZWN0KCkpICE9PSBmbkdsb2JhbE9iamVjdCgpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.apply(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-70gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KcmV0dXJuIGYuY2FsbCgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.call())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-71-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KaWYgKCEgZi5jYWxsKCkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.call())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-71gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwobnVsbCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT1udWxsO307DQpyZXR1cm4gZi5jYWxsKG51bGwpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.call(null))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-72-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwobnVsbCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT1udWxsO307DQppZiAoISBmLmNhbGwobnVsbCkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.call(null))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-72gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwodW5kZWZpbmVkKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KcmV0dXJuIGYuY2FsbCh1bmRlZmluZWQpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.call(undefined))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-73-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwodW5kZWZpbmVkKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PXVuZGVmaW5lZDt9Ow0KaWYgKCEgZi5jYWxsKHVuZGVmaW5lZCkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.call(undefined))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-73gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoc29tZU9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBvID0ge307DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09bzt9Ow0KcmV0dXJuIGYuY2FsbChvKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.call(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-74-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoc29tZU9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBvID0ge307DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09bzt9Ow0KaWYgKCEgZi5jYWxsKG8pKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.call(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-74gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoZ2xvYmFsT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpczt9Ow0KcmV0dXJuIGYuY2FsbChmbkdsb2JhbE9iamVjdCgpKSA9PT0gZm5HbG9iYWxPYmplY3QoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.call(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-75-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoZ2xvYmFsT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpczt9Ow0KaWYgKGYuY2FsbChmbkdsb2JhbE9iamVjdCgpKSAhPT0gZm5HbG9iYWxPYmplY3QoKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.call(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-75gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoKSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQpyZXR1cm4gZi5iaW5kKCkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.bind()())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-76-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoKSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQppZiAoISAoZi5iaW5kKCkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.bind()())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-76gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQobnVsbCkoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PW51bGw7fTsNCnJldHVybiBmLmJpbmQobnVsbCkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.bind(null)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-77-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQobnVsbCkoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gdGhpcz09PW51bGw7fTsNCmlmICghIChmLmJpbmQobnVsbCkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.bind(null)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-77gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQodW5kZWZpbmVkKSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQpyZXR1cm4gZi5iaW5kKHVuZGVmaW5lZCkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.bind(undefined)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-78-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQodW5kZWZpbmVkKSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzPT09dW5kZWZpbmVkO307DQppZiAoISAoZi5iaW5kKHVuZGVmaW5lZCkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.bind(undefined)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-78gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoc29tZU9iamVjdCkoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIG8gPSB7fTsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT1vO307DQpyZXR1cm4gZi5iaW5kKG8pKCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.bind(someObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-79-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoc29tZU9iamVjdCkoKSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KdmFyIG8gPSB7fTsNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIHRoaXM9PT1vO307DQppZiAoISAoZi5iaW5kKG8pKCkpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.bind(someObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-79gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS03Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgLSBjaGVja2luZyAndGhpcycgZnJvbSBhIGdsb2JhbCBzY29wZSAoRnVuY3Rpb25EZWNsYXJhdGlvbiBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZigpIHsNCiAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQp9DQppZiAoZigpICE9PSAidW5kZWZpbmVkIikgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-7gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGNoZWNraW5nICd0aGlzJyAoRnVuY3Rpb25EZWNsYXJhdGlvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIHR5cGVvZiB0aGlzOw0KfQ0KcmV0dXJuIGYoKSA9PT0gInVuZGVmaW5lZCI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - checking 'this' (FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoZ2xvYmFsT2JqZWN0KSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzO307DQpyZXR1cm4gZi5iaW5kKGZuR2xvYmFsT2JqZWN0KCkpKCkgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (strict function declaration called by Function.prototype.bind(globalObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-80-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQoZ2xvYmFsT2JqZWN0KSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiB0aGlzO307DQppZiAoZi5iaW5kKGZuR2xvYmFsT2JqZWN0KCkpKCkgIT09IGZuR2xvYmFsT2JqZWN0KCkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (strict function declaration called by Function.prototype.bind(globalObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-80gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbikNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQpmdW5jdGlvbiBmb28oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYoKTt9DQpyZXR1cm4gZm9vKCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict function declaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-81-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbikNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQpmdW5jdGlvbiBmb28oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYoKTt9DQppZiAoISBmb28oKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict function declaration)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-81gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBldmFsKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXMhPT11bmRlZmluZWQ7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGV2YWwoImYoKTsiKTt9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict eval)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-82-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBldmFsKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXMhPT11bmRlZmluZWQ7fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGV2YWwoImYoKTsiKTt9KSgpKSApew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict eval)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-82gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbiBjb25zdHJ1Y3RvcikNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZuR2xvYmFsT2JqZWN0KCkuZiA9IGZ1bmN0aW9uKCkge3JldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHtyZXR1cm4gRnVuY3Rpb24oIlwidXNlIHN0cmljdFwiO3JldHVybiBmKCk7IikoKTt9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function constructor)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-83-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbiBjb25zdHJ1Y3RvcikNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7cmV0dXJuIHRoaXMhPT11bmRlZmluZWQ7fTsNCmlmICghICgoZnVuY3Rpb24gKCkge3JldHVybiBGdW5jdGlvbigiXCJ1c2Ugc3RyaWN0XCI7cmV0dXJuIGYoKTsiKSgpO30pKCkpICl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function constructor)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-83gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBuZXcnZWQgRnVuY3Rpb24gY29uc3RydWN0b3IpDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmbkdsb2JhbE9iamVjdCgpLmYgPSBmdW5jdGlvbigpICB7IHJldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHtyZXR1cm4gbmV3IEZ1bmN0aW9uKCJcInVzZSBzdHJpY3RcIjtyZXR1cm4gZigpOyIpKCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict new'ed Function constructor)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-84-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBuZXcnZWQgRnVuY3Rpb24gY29uc3RydWN0b3IpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcyE9PXVuZGVmaW5lZDt9Ow0KaWYgKCEgKChmdW5jdGlvbiAoKSB7cmV0dXJuIG5ldyBGdW5jdGlvbigiXCJ1c2Ugc3RyaWN0XCI7cmV0dXJuIGYoKTsiKSgpO30pKCkpICl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict new'ed Function constructor)","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-84gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKSkNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmFwcGx5KCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.apply())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-85-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKSkNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzIT09dW5kZWZpbmVkO307DQppZiAoISAoKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmFwcGx5KCk7fSkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.apply())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-85gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkobnVsbCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkobnVsbCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.apply(null))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-86-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkobnVsbCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkobnVsbCk7fSkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.apply(null))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-86gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkodW5kZWZpbmVkKSkNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKX07DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmFwcGx5KHVuZGVmaW5lZCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.apply(undefined))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-87-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkodW5kZWZpbmVkKSkNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTt9Ow0KaWYgKCEgKChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5hcHBseSh1bmRlZmluZWQpO30pKCkpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.apply(undefined))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-87gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoc29tZU9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCnZhciBvID0ge307DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PW87fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkobyk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.apply(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-88-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoc29tZU9iamVjdCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCnZhciBvID0ge307DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PW87fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkobyk7fSkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.apply(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-88gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoZ2xvYmFsT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkoZm5HbG9iYWxPYmplY3QoKSk7IH0pKCkgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.apply(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-89-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoZ2xvYmFsT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM7fTsNCmlmICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkoZm5HbG9iYWxPYmplY3QoKSk7fSkoKSAhPT0gZm5HbG9iYWxPYmplY3QoKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.apply(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-89gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS04Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgLSBjaGVja2luZyAndGhpcycgZnJvbSBhIGdsb2JhbCBzY29wZSAoRnVuY3Rpb25EZWNsYXJhdGlvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQp9DQppZiAoZigpICE9PSAidW5kZWZpbmVkIikgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionDeclaration includes strict directive prologue)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-8gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIGNoZWNraW5nICd0aGlzJyAoRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoidXNlIHN0cmljdCI7DQp2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQp9DQpyZXR1cm4gZigpID09PSAidW5kZWZpbmVkIjsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-9-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05MC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCgpKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmNhbGwoKTsgfSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.call())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-90-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05MGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCgpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQppZiAoISAoKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmNhbGwoKTt9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.call())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-90gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05MS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChudWxsKSkNCiAqIEBub1N0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTt9Ow0KcmV0dXJuIChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKG51bGwpOyB9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.call(null))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-91-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05MWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChudWxsKSkNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTt9Ow0KaWYgKCEgKChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKG51bGwpOyB9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.call(null))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-91gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05Mi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCh1bmRlZmluZWQpKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmNhbGwodW5kZWZpbmVkKTt9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.call(undefined))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-92-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05MmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCh1bmRlZmluZWQpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQppZiAoISAoKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmNhbGwodW5kZWZpbmVkKTt9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.call(undefined))","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-92gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05My1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChzb21lT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KdmFyIG8gPSB7fTsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09bzt9Ow0KcmV0dXJuIChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKG8pOyB9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.call(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-93-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05M2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChzb21lT2JqZWN0KSkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KdmFyIG8gPSB7fTsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09bzt9Ow0KaWYgKCEgKChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKG8pOyB9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.call(someObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-93gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05NC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChnbG9iYWxPYmplY3QpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuY2FsbChmbkdsb2JhbE9iamVjdCgpKTt9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.call(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-94-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05NGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChnbG9iYWxPYmplY3QpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuY2FsbChmbkdsb2JhbE9iamVjdCgpKTt9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.call(globalObject))","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-94gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05NS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCgpKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYmluZCgpKCk7IH0pKCk7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.bind()())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-95-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05NWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCgpKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYmluZCgpKCk7IH0pKCkpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.bind()())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-95gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05Ni1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChudWxsKSgpKQ0KICogQG5vU3RyaWN0DQogKi8NCiAgICANCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQobnVsbCkoKTsgfSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.bind(null)())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-96-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05NmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChudWxsKSgpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1mbkdsb2JhbE9iamVjdCgpO307DQppZiAoISAoKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQobnVsbCkoKTsgfSkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.bind(null)())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-96gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05Ny1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCh1bmRlZmluZWQpKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCnJldHVybiAoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYmluZCh1bmRlZmluZWQpKCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.bind(undefined)())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-97-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05N2dzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCh1bmRlZmluZWQpKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gdGhpcz09PWZuR2xvYmFsT2JqZWN0KCk7fTsNCmlmICghICgoZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYmluZCh1bmRlZmluZWQpKCk7IH0pKCkpKXsNCiAgICB0aHJvdyAiJ3RoaXMnIGhhZCBpbmNvcnJlY3QgdmFsdWUhIjsNCn0NCg==","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.bind(undefined)())","noStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-97gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05OC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChzb21lT2JqZWN0KSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KICAgIA0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgbyA9IHt9Ow0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1vO307DQpyZXR1cm4gKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQobykoKTt9KSgpOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.bind(someObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-98-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05OGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChzb21lT2JqZWN0KSgpKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQp2YXIgbyA9IHt9Ow0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIHRoaXM9PT1vO307DQppZiAoISAoKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQobykoKTt9KSgpKSl7DQogICAgdGhyb3cgIid0aGlzJyBoYWQgaW5jb3JyZWN0IHZhbHVlISI7DQp9DQo=","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.bind(someObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-98gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05OS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBjaGVja2luZyAndGhpcycgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChnbG9iYWxPYmplY3QpKCkpDQogKiBAb25seVN0cmljdA0KICovDQogICAgDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTt9Ow0KcmV0dXJuIChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5iaW5kKGZuR2xvYmFsT2JqZWN0KCkpKCk7fSkoKTsNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"Strict Mode - checking 'this' (non-strict function declaration called by strict Function.prototype.bind(globalObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-99-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05OWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IC0gY2hlY2tpbmcgJ3RoaXMnIGZyb20gYSBnbG9iYWwgc2NvcGUgKG5vbi1zdHJpY3QgZnVuY3Rpb24gZGVjbGFyYXRpb24gY2FsbGVkIGJ5IHN0cmljdCBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChnbG9iYWxPYmplY3QpKCkpDQogKiBAb25seVN0cmljdA0KICovDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiB0aGlzPT09Zm5HbG9iYWxPYmplY3QoKTt9Ow0KaWYgKCEgKChmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5iaW5kKGZuR2xvYmFsT2JqZWN0KCkpKCk7fSkoKSkpew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ0K","commentary":"","description":"Strict - checking 'this' from a global scope (non-strict function declaration called by strict Function.prototype.bind(globalObject)())","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-99gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy8xMC40LjMtMS05Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgLSBjaGVja2luZyAndGhpcycgZnJvbSBhIGdsb2JhbCBzY29wZSAoRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoidXNlIHN0cmljdCI7DQp2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICByZXR1cm4gdHlwZW9mIHRoaXM7DQp9DQppZiAoZigpICE9PSAidW5kZWZpbmVkIikgew0KICAgIHRocm93ICIndGhpcycgaGFkIGluY29ycmVjdCB2YWx1ZSEiOw0KfQ==","commentary":"","description":"Strict - checking 'this' from a global scope (FunctionExpression defined within strict mode)","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/10.4.3-1-9gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgovKioKICogQHBhdGggY2gxMC8xMC40LzEwLjQuMy9TMTAuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBXaGVuIGNhbGxpbmcgYSBzdHJpY3QgYW5vbnltb3VzIGZ1bmN0aW9uIGFzIGEKICogZnVuY3Rpb24sICJ0aGlzIiBzaG91bGQgYmUgYm91bmQgdG8gdW5kZWZpbmVkLgogKiBAb25seVN0cmljdAogKi8KCiJ1c2Ugc3RyaWN0IjsKdmFyIHRoYXQgPSAoZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSgpOwppZiAodGhhdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogInRoaXMiIGxlYWtlZCBhczogJyArIHRoYXQpOwp9Cgo=","commentary":"","description":"When calling a strict anonymous function as a\nfunction, \"this\" should be bound to undefined.","onlyStrict":"","path":"TestCases/ch10/10.4/10.4.3/S10.4.3_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMgb2JqZWN0IGlzIGltbXV0YWJsZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgICAgIGV2YWwoImFyZ3VtZW50cyA9IDEwIik7DQogICAgICAgICAgICB9KSgzMCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - arguments object is immutable","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMgY2Fubm90IGJlIGFzc2lnbmVkIHRvIGluIGEgc3RyaWN0IGZ1bmN0aW9uDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCg0KZnVuY3Rpb24gZl8xMF81XzFfZ3MoKXsNCiAgICBhcmd1bWVudHMgPSA3Ow0KfQ0KDQo=","commentary":"","description":"Strict Mode - arguments cannot be assigned to in a strict function","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtNy1iLTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gYXJndW1lbnRzIG9iamVjdCBpcyBpbW11dGFibGUgaW4gZXZhbCdlZCBmdW5jdGlvbnMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBldmFsKCIoZnVuY3Rpb24gXzEwXzVfN19iXzFfZnVuKCkgeyBhcmd1bWVudHMgPSAxMDt9ICgpKTsiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - arguments object is immutable in eval'ed functions","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtNy1iLTItcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gYXJndW1lbnRzIG9iamVjdCBpbmRleCBhc3NpZ25tZW50IGlzIGFsbG93ZWQNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIGZ1bmN0aW9uIF8xMF81XzdfYl8yX2Z1bigpIHsNCiAgICAgICAgICAgIGFyZ3VtZW50c1s3XSA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1s3XSA9PT0gMTI7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIF8xMF81XzdfYl8yX2Z1bigzMCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - arguments object index assignment is allowed","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtNy1iLTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gQWRkaW5nIHByb3BlcnR5IHRvIHRoZSBhcmd1bWVudHMgb2JqZWN0IHN1Y2Nlc3NmdWwgdW5kZXIgc3RyaWN0IG1vZGUgDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICBmdW5jdGlvbiBfMTBfNV83X2JfM19mdW4oKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbMV0gPSAxMjsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHNbMF0gPSAzMCAmJiBhcmd1bWVudHNbMV0gPT09IDEyOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBfMTBfNV83X2JfM19mdW4oMzApOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Adding property to the arguments object successful under strict mode","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC41LzEwLjUtNy1iLTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gRGVsZXRpbmcgcHJvcGVydHkgb2YgdGhlIGFyZ3VtZW50cyBvYmplY3Qgc3VjY2Vzc2Z1bCB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgZnVuY3Rpb24gXzEwXzVfN19iXzRfZnVuKCkgew0KICAgICAgICAgICAgdmFyIF8xMF81XzdfYl80XzEgPSBhcmd1bWVudHNbMF0gPT09IDMwICYmIGFyZ3VtZW50c1sxXSA9PT0gMTI7DQogICAgICAgICAgICBkZWxldGUgYXJndW1lbnRzWzFdOw0KICAgICAgICAgICAgdmFyIF8xMF81XzdfYl80XzIgPSBhcmd1bWVudHNbMF0gPT09IDMwICYmIHR5cGVvZiBhcmd1bWVudHNbMV0gPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgcmV0dXJuIF8xMF81XzdfYl80XzEgJiYgXzEwXzVfN19iXzRfMjsNCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIF8xMF81XzdfYl80X2Z1bigzMCwgMTIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - Deleting property of the arguments object successful under strict mode","onlyStrict":"","path":"TestCases/ch10/10.5/10.5-7-b-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTAtYy1paS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHNbaV0gcmVtYWlucyBzYW1lIGFmdGVyIGNoYW5naW5nIGFjdHVhbCBwYXJhbWV0ZXJzIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbyhhLGIsYykNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICBhID0gMTsgYiA9ICdzdHInOyBjID0gMi4xOw0KICAgIHJldHVybiAoYXJndW1lbnRzWzBdID09PSAxMCAmJiBhcmd1bWVudHNbMV0gPT09ICdzc3MnICYmIGFyZ3VtZW50c1syXSA9PT0gMSk7DQogIH0NCiAgcmV0dXJuIGZvbygxMCwgJ3NzcycsIDEpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments[i] remains same after changing actual parameters in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-10-c-ii-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTAtYy1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzW2ldIGNoYW5nZSB3aXRoIGFjdHVhbCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKGEsYixjKQ0KICB7DQogICAgYSA9IDE7IGIgPSAnc3RyJzsgYyA9IDIuMTsNCiAgICBpZihhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzWzFdID09PSAnc3RyJyAmJiBhcmd1bWVudHNbMl0gPT09IDIuMSkNCiAgICAgIHJldHVybiB0cnVlOyAgIA0KICB9DQogIHJldHVybiBmb28oMTAsJ3NzcycsMSk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments[i] change with actual parameters","path":"TestCases/ch10/10.6/10.6-10-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTAtYy1paS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHNbaV0gZG9lc24ndCBtYXAgdG8gYWN0dWFsIHBhcmFtZXRlcnMgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGZ1bmN0aW9uIGZvbyhhLGIsYykNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsgICAgDQogICAgYXJndW1lbnRzWzBdID0gMTsgYXJndW1lbnRzWzFdID0gJ3N0cic7IGFyZ3VtZW50c1syXSA9IDIuMTsNCiAgICByZXR1cm4gMTAgPT09IGEgJiYgJ3NzcycgPT09IGIgJiYgMSA9PT0gYzsNCiAgfQ0KICByZXR1cm4gZm9vKDEwLCdzc3MnLDEpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments[i] doesn't map to actual parameters in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-10-c-ii-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTAtYy1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gYXJndW1lbnRzW2ldIG1hcCB0byBhY3R1YWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIGZ1bmN0aW9uIGZvbyhhLGIsYykNCiAgew0KICAgIGFyZ3VtZW50c1swXSA9IDE7IGFyZ3VtZW50c1sxXSA9ICdzdHInOyBhcmd1bWVudHNbMl0gPSAyLjE7DQogICAgaWYoMSA9PT0gYSAmJiAnc3RyJyA9PT0gYiAmJiAyLjEgPT09IGMpDQogICAgICByZXR1cm4gdHJ1ZTsgICANCiAgfQ0KICByZXR1cm4gZm9vKDEwLCdzc3MnLDEpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments[i] map to actual parameter","path":"TestCases/ch10/10.6/10.6-10-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTEtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIE9iamVjdCBoYXMgaW5kZXggcHJvcGVydHkgJzAnIGFzIGl0cyBvd24gcHJvcGVydHksIGl0IHNob3VsZGUgYmUgd3JpdGFibGUsIGVudW1lcmFibGUsIGNvbmZpZ3VyYWJsZSBhbmQgZG9lcyBub3QgaW52b2tlIHRoZSBzZXR0ZXIgZGVmaW5lZCBvbiBPYmplY3QucHJvdG90eXBlWzBdIChTdGVwIDExLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzIH0pKDEpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gKGFyZ09ialswXSA9PT0gMSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMCIgJiYgYXJnT2JqLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGFyZ09ialswXSA9IDEwMDE7DQogICAgICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IChhcmdPYmpbMF0gPT09IDEwMDEpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgYXJnT2JqWzBdOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJnT2JqLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiB2ZXJpZnlFbnVtZXJhYmxlICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Arguments Object has index property '0' as its own property, it shoulde be writable, enumerable, configurable and does not invoke the setter defined on Object.prototype[0] (Step 11.b)","path":"TestCases/ch10/10.6/10.6-11-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFjY2Vzc2luZyBjYWxsZWUgcHJvcGVydHkgb2YgQXJndW1lbnRzIG9iamVjdCBpcyBhbGxvd2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IA0KICB7DQogICAgYXJndW1lbnRzLmNhbGxlZTsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Accessing callee property of Arguments object is allowed","path":"TestCases/ch10/10.6/10.6-12-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTItMi5qcw0KICogQGRlc2NyaXB0aW9uIGFyZ3VtZW50cy5jYWxsZWUgaGFzIGNvcnJlY3QgYXR0cmlidXRlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJjYWxsZWUiKTsNCiAgaWYoZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09IGZhbHNlICYmDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3B1dCcpID09IGZhbHNlKQ0KICAgIHJldHVybiB0cnVlOyAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments.callee has correct attributes","path":"TestCases/ch10/10.6/10.6-12-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFjY2Vzc2luZyBjYWxsZXIgcHJvcGVydHkgb2YgQXJndW1lbnRzIG9iamVjdCBpcyBhbGxvd2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IA0KICB7DQogICAgYXJndW1lbnRzLmNhbGxlcjsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Accessing caller property of Arguments object is allowed","path":"TestCases/ch10/10.6/10.6-13-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSW4gbm9uLXN0cmljdCBtb2RlLCBhcmd1bWVudHMgb2JqZWN0IHNob3VsZCBoYXZlIGl0cyBvd24gJ2NhbGxlZScgcHJvcGVydHkgZGVmaW5lZCAoU3RlcCAxMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImNhbGxlZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHMgfSkoKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2ZXJpZnlWYWx1ZSA9IHR5cGVvZiBhcmdPYmouY2FsbGVlID09PSAiZnVuY3Rpb24iOw0KICAgICAgICAgICAgDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGFyZ09iai5jYWxsZWUgPSAxMDAxOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSAoYXJnT2JqLmNhbGxlZSA9PT0gMTAwMSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGFyZ09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiY2FsbGVlIiAmJiBhcmdPYmouaGFzT3duUHJvcGVydHkoImNhbGxlZSIpKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIGFyZ09iai5jYWxsZWU7DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcmdPYmouaGFzT3duUHJvcGVydHkoImNhbGxlZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgdmVyaWZ5V3JpdGFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgIXZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmNhbGxlZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"In non-strict mode, arguments object should have its own 'callee' property defined (Step 13.a)","path":"TestCases/ch10/10.6/10.6-13-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQSBkaXJlY3QgY2FsbCB0byBhcmd1bWVudHMuY2FsbGVlLmNhbGxlciBzaG91bGQgd29yaw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGNhbGxlZCA9IGZhbHNlOw0KICAgIA0KICAgIGZ1bmN0aW9uIHRlc3QxKGZsYWcpIHsNCiAgICAgICAgaWYgKGZsYWchPT10cnVlKSB7DQogICAgICAgICAgICB0ZXN0MigpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHRlc3QyKCkgew0KICAgICAgICBpZihhcmd1bWVudHMuY2FsbGVlLmNhbGxlcj09PXVuZGVmaW5lZCkgew0KICAgICAgICAgIGNhbGxlZD10cnVlOyAvLyBFeHRlbnNpb24gbm90IHN1cHBvcnRlZCAtIGZha2UgaXQNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBhcmd1bWVudHMuY2FsbGVlLmNhbGxlcih0cnVlKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICANCiAgICB0ZXN0MSgpOw0KICAgIHJldHVybiBjYWxsZWQ7ICAgDQp9DQoNCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTs=","commentary":"","description":"A direct call to arguments.callee.caller should work","path":"TestCases/ch10/10.6/10.6-13-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQW4gaW5kaXJlY3QgY2FsbCB0byBhcmd1bWVudHMuY2FsbGVlLmNhbGxlciBzaG91bGQgd29yaw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGNhbGxlZCA9IGZhbHNlOw0KICAgIA0KICAgIGZ1bmN0aW9uIHRlc3QxKGZsYWcpIHsNCiAgICAgICAgaWYgKGZsYWchPT10cnVlKSB7DQogICAgICAgICAgICB0ZXN0MigpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHRlc3QyKCkgeyAgDQogICAgICAgaWYgKGFyZ3VtZW50cy5jYWxsZWUuY2FsbGVyPT09dW5kZWZpbmVkKSB7DQogICAgICAgICBjYWxsZWQgPSB0cnVlOyAgLy9FeHRlbnNpb24gbm90IHN1cHBvcnRlZCAtIGZha2UgaXQNCiAgICAgICB9IGVsc2UgeyAgICAgDQogICAgICAgICB2YXIgZXhwbGljaXQgPSBhcmd1bWVudHMuY2FsbGVlLmNhbGxlcjsNCiAgICAgICAgIGV4cGxpY2l0KHRydWUpOw0KICAgICAgIH0NCiAgICB9DQogICAgDQogICAgdGVzdDEoKTsNCiAgICByZXR1cm4gY2FsbGVkOyAgIA0KfQ0KDQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"An indirect call to arguments.callee.caller should work","path":"TestCases/ch10/10.6/10.6-13-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBY2Nlc3NpbmcgY2FsbGVyIHByb3BlcnR5IG9mIEFyZ3VtZW50cyBvYmplY3QgdGhyb3dzIFR5cGVFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIHRyeSANCiAgew0KICAgIGFyZ3VtZW50cy5jYWxsZXI7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Accessing caller property of Arguments object throws TypeError in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYi0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMuY2FsbGVyIGV4aXN0cyBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgJ3VzZSBzdHJpY3QnOyAgICANCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywiY2FsbGVyIik7DQogIHJldHVybiBkZXNjIT09IHVuZGVmaW5lZDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"arguments.caller exists in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYi0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMuY2FsbGVyIGlzIG5vbi1jb25maWd1cmFibGUgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgIA0KICAndXNlIHN0cmljdCc7ICAgIA0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJjYWxsZXIiKTsNCiAgDQogIHJldHVybiAoZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIA0KICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIA0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCd2YWx1ZScpID09IGZhbHNlICAmJiANCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnd3JpdGFibGUnKSA9PSBmYWxzZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PSB0cnVlICYmIA0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PSB0cnVlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments.caller is non-configurable in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-b-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBY2Nlc3NpbmcgY2FsbGVlIHByb3BlcnR5IG9mIEFyZ3VtZW50cyBvYmplY3QgdGhyb3dzIFR5cGVFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAndXNlIHN0cmljdCc7DQogIHRyeSANCiAgew0KICAgIGFyZ3VtZW50cy5jYWxsZWU7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Accessing callee property of Arguments object throws TypeError in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYy0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMuY2FsbGVlIGlzIGV4aXN0cyBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgJ3VzZSBzdHJpY3QnOyAgICANCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywiY2FsbGVlIik7DQogIHJldHVybiBkZXNjICE9PSB1bmRlZmluZWQ7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"arguments.callee is exists in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTMtYy0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBhcmd1bWVudHMuY2FsbGVlIGlzIG5vbi1jb25maWd1cmFibGUgaW4gc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogICd1c2Ugc3RyaWN0JzsgICAgDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMsImNhbGxlZSIpOw0KICByZXR1cm4gKGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykgPT0gZmFsc2UgJiYNCiAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnd3JpdGFibGUnKSA9PSBmYWxzZSAmJg0KICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PSB0cnVlICYmDQogICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09IHRydWUpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"arguments.callee is non-configurable in strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-13-c-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTQtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSAnY2FsbGVlJyBleGlzdHMgYW5kICdjYWxsZXInIGV4aXN0cyB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBhcmdPYmogPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9ICgpOw0KICAgICAgICByZXR1cm4gYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZWUiKSAmJiBhcmdPYmouaGFzT3duUHJvcGVydHkoImNhbGxlciIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - 'callee' exists and 'caller' exists under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTQtYi0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBpbiAnY2FsbGVyJyBpcyBmYWxzZSB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0gKCk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgXzEwXzZfMTRfYl8xIGluIGFyZ09iaikgew0KICAgICAgICAgICAgaWYgKGFyZ09iai5oYXNPd25Qcm9wZXJ0eShfMTBfNl8xNF9iXzEpICYmIF8xMF82XzE0X2JfMSA9PT0gImNhbGxlciIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIXZlcmlmeUVudW1lcmFibGUgJiYgYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZXIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - [[Enumerable]] attribute value in 'caller' is false under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-b-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTQtYi00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBhY2Nlc3NpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIGluICdjYWxsZXInIHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSAoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJnT2JqLmNhbGxlciA9IHt9Ow0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown when accessing the [[Set]] attribute in 'caller' under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-b-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTQtYy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBpbiAnY2FsbGVlJyBpcyBmYWxzZSB1bmRlciBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0gKCk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgXzEwXzZfMTRfY18xIGluIGFyZ09iaikgew0KICAgICAgICAgICAgaWYgKGFyZ09iai5oYXNPd25Qcm9wZXJ0eShfMTBfNl8xNF9jXzEpICYmIF8xMF82XzE0X2NfMSA9PT0gImNhbGxlZSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIXZlcmlmeUVudW1lcmFibGUgJiYgYXJnT2JqLmhhc093blByb3BlcnR5KCJjYWxsZWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - [[Enumerable]] attribute value in 'callee' is false under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-c-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMTQtYy00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBhY2Nlc3NpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIGluICdjYWxsZWUnIHVuZGVyIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSAoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJnT2JqLmNhbGxlZSA9IHt9Ow0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown when accessing the [[Set]] attribute in 'callee' under strict mode","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-14-c-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMuY2FsbGVlIGNhbm5vdCBiZSBhY2Nlc3NlZCBpbiBhIHN0cmljdCBmdW5jdGlvbiwgYnV0IGRvZXMgbm90IHRocm93IGFuIGVhcmx5IGVycm9yDQogKiBAb25seVN0cmljdA0KICovDQoNCiJ1c2Ugc3RyaWN0IjsNCmZ1bmN0aW9uIGZfMTBfNl8xX2dzKCl7DQogICAgcmV0dXJuIGFyZ3VtZW50cy5jYWxsZWU7DQp9DQoNCg==","commentary":"","description":"Strict Mode - arguments.callee cannot be accessed in a strict function, but does not throw an early error","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBhcmd1bWVudHMuY2FsbGVlIGNhbm5vdCBiZSBhY2Nlc3NlZCBpbiBhIHN0cmljdCBmdW5jdGlvbg0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSAuDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZl8xMF82XzFfZ3MoKXsNCiAgICByZXR1cm4gYXJndW1lbnRzLmNhbGxlZTsNCn0NCmZfMTBfNl8xX2dzKCk7DQoNCg==","commentary":"","description":"Strict Mode - arguments.callee cannot be accessed in a strict function","negative":".","onlyStrict":"","path":"TestCases/ch10/10.6/10.6-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBBcmd1bWVudHMgaXMgc2V0IHRvIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYoT2JqZWN0LmdldFByb3RvdHlwZU9mKGFyZ3VtZW50cykgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZih7fSkpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Prototype]] property of Arguments is set to Object prototype object","path":"TestCases/ch10/10.6/10.6-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gJ2xlbmd0aCBwcm9wZXJ0eSBvZiBhcmd1bWVudHMgb2JqZWN0IGV4aXN0cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJndW1lbnRzLCJsZW5ndGgiKTsNCiAgcmV0dXJuIGRlc2MgIT09IHVuZGVmaW5lZA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'length property of arguments object exists","path":"TestCases/ch10/10.6/10.6-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNi0yLmpzDQogKiBAZGVzY3JpcHRpb24gJ2xlbmd0aCcgcHJvcGVydHkgb2YgYXJndW1lbnRzIG9iamVjdCBoYXMgY29ycmVjdCBhdHRyaWJ1dGVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmd1bWVudHMsImxlbmd0aCIpOw0KICBpZihkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'length' property of arguments object has correct attributes","path":"TestCases/ch10/10.6/10.6-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNi0zLmpzDQogKiBAZGVzY3JpcHRpb24gJ2xlbmd0aCcgcHJvcGVydHkgb2YgYXJndW1lbnRzIG9iamVjdCBmb3IgMCBhcmd1bWVudCBmdW5jdGlvbiBleGlzdHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgdmFyIGFyZ3VtZW50cz0gdW5kZWZpbmVkOw0KCXJldHVybiAoZnVuY3Rpb24gKCkge3JldHVybiBhcmd1bWVudHMubGVuZ3RoICE9PSB1bmRlZmluZWR9KSgpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"'length' property of arguments object for 0 argument function exists","path":"TestCases/ch10/10.6/10.6-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNi00LmpzDQogKiBAZGVzY3JpcHRpb24gJ2xlbmd0aCcgcHJvcGVydHkgb2YgYXJndW1lbnRzIG9iamVjdCBmb3IgMCBhcmd1bWVudCBmdW5jdGlvbiBjYWxsIGlzIDAgZXZlbiB3aXRoIGZvcm1hbCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgIHZhciBhcmd1bWVudHM9IHVuZGVmaW5lZDsNCglyZXR1cm4gKGZ1bmN0aW9uIChhLGIsYykge3JldHVybiBhcmd1bWVudHMubGVuZ3RoID09PSAwfSkoKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"'length' property of arguments object for 0 argument function call is 0 even with formal parameters","path":"TestCases/ch10/10.6/10.6-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxMC8xMC42LzEwLjYtNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIE9iamVjdCBoYXMgbGVuZ3RoIGFzIGl0cyBvd24gcHJvcGVydHkgYW5kIGRvZXMgbm90IGludm9rZSB0aGUgc2V0dGVyIGRlZmluZWQgb24gT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggKFN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50cyB9KSgpOw0KICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSAoYXJnT2JqLmxlbmd0aCA9PT0gMCk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgYXJnT2JqLmxlbmd0aCA9IDEwMDE7DQogICAgICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IChhcmdPYmoubGVuZ3RoID09PSAxMDAxKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gYXJnT2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIGFyZ09iai5sZW5ndGg7DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcmdPYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgdmVyaWZ5V3JpdGFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgIXZlcmlmeUNvbmZpZ3VyYWJsZSAmJiBkYXRhID09PSAiZGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Arguments Object has length as its own property and does not invoke the setter defined on Object.prototype.length (Step 7)","path":"TestCases/ch10/10.6/10.6-7-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGNvbnRyb2wgZW50ZXJzIGFuIGV4ZWN1dGlvbiBjb250ZXh0IGZvciBmdW5jdGlvbiBjb2RlLAogKiBhbiBhcmd1bWVudHMgb2JqZWN0IGlzIGNyZWF0ZWQgYW5kIGluaXRpYWxpc2VkCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0aW5nIGZ1bmN0aW9uIHdoaWNoIHVzZXMgYXJndW1lbnRzIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICB2YXIgeCA9IGYxKCk7Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpewogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICB2YXIgeCA9IGYyKCk7Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"When control enters an execution context for function code,\nan arguments object is created and initialised","description":"Executing function which uses arguments object","path":"TestCases/ch10/10.6/S10.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlCiAqIGNyZWF0ZWQgYXJndW1lbnRzIG9iamVjdCBpcyB0aGUgb3JpZ2luYWwgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUKICogdGhhdCBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZT09PU9iamVjdC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZTsKfQp0cnl7CiAgaWYoZjEoKSAhPT0gT2JqZWN0LnByb3RvdHlwZSl7CiAgICAkRVJST1IoJyMxOiBhcmd1bWVudHMuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzE6IGFyZ3VtZW50cyBkb2Vzbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmNvbnN0cnVjdG9yLnByb3RvdHlwZTt9Owp0cnl7CiAgaWYoZjIoKSAhPT0gT2JqZWN0LnByb3RvdHlwZSl7CiAgICAkRVJST1IoJyMyOiBhcmd1bWVudHMuY29uc3RydWN0b3IucHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzI6IGFyZ3VtZW50cyBkb2Vzbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the\ncreated arguments object is the original Object prototype object, the one\nthat is the initial value of Object.prototype","description":"Checking arguments.constructor.prototype===Object.prototype","path":"TestCases/ch10/10.6/S10.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYXJndW1lbnRzLmNhbGxlZSBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImNhbGxlZSIpOwp9CnRyeXsKICBpZihmMSgpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnY2FsbGVlJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImNhbGxlZSIpO307CnRyeXsKICBpZihmMigpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzI6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnY2FsbGVlJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking existence of arguments.callee property","path":"TestCases/ch10/10.6/S10.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgYXJndW1lbnRzLmNhbGxlZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIGZvcih2YXIgeCBpbiBhcmd1bWVudHMpewogICAgaWYgKHggPT09ICJjYWxsZWUiKXsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KICByZXR1cm4gdHJ1ZTsKfQoKdHJ5ewogIGlmKCFmMSgpKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgY2FsbGVlIGRvbid0IGhhdmUgYXR0cmlidXRlIHsgRG9udEVudW0gfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICBmb3IodmFyIHggaW4gYXJndW1lbnRzKXsKICAgIGlmICh4ID09PSAiY2FsbGVlIil7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgcmV0dXJuIHRydWU7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGNhbGxlZSBkb24ndCBoYXZlIGF0dHJpYnV0ZSB7IERvbnRFbnVtIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking if enumerating the arguments.callee property fails","path":"TestCases/ch10/10.6/S10.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBhcmd1bWVudHMuY2FsbGVlIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiAoZGVsZXRlIGFyZ3VtZW50cy5jYWxsZWUpOwp9Cgp0cnl7CiAgaWYoIWYxKCkpewogICAgJEVSUk9SKCIjMTogQSBwcm9wZXJ0eSBjYWxsZWUgaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmNhbGxlZSk7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGNhbGxlZSBoYXZlIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Checking if deleting arguments.callee property fails","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGNhbGxlZSB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkaW5nIGFyZ3VtZW50cy5jYWxsZWUgcHJvcGVydHkKICogQG5vU3RyaWN0CiAqLwoKdmFyIHN0ciA9ICJzb21ldGhpbmcgZGlmZmVyZW50IjsKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgYXJndW1lbnRzLmNhbGxlZSA9IHN0cjsKICByZXR1cm4gYXJndW1lbnRzOwp9Cgp0cnl7CiAgaWYoZjEoKS5jYWxsZWUgIT09IHN0cil7CiAgICAkRVJST1IoIiMxOiBBIHByb3BlcnR5IGNhbGxlZSBoYXZlIGF0dHJpYnV0ZSB7IFJlYWRPbmx5IH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgICBhcmd1bWVudHMuY2FsbGVlID0gc3RyOwogICAgcmV0dXJuIGFyZ3VtZW50czsKICB9CnRyeXsKICBpZihmMigpLmNhbGxlZSAhPT0gc3RyKXsKICAgICRFUlJPUigiIzI6IEEgcHJvcGVydHkgY2FsbGVlIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name callee with property\nattributes { DontEnum } and no others","description":"Overriding arguments.callee property","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgY3JlYXRlZCBwcm9wZXJ0eSBjYWxsZWUgaXMgdGhlCiAqIEZ1bmN0aW9uIG9iamVjdCBiZWluZyBleGVjdXRlZAogKgogKiBAcGF0aCBjaDEwLzEwLjYvUzEwLjZfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoYXQgYXJndW1lbnRzLmNhbGxlZSA9PT0gZnVuY3Rpb24gb2JqZWN0CiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuY2FsbGVlOwp9Cgp0cnl7CiAgaWYoZjEgIT09IGYxKCkpewogICAgJEVSUk9SKCcjMTogYXJndW1lbnRzLmNhbGxlZSA9PT0gZjEnKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb2Vzbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmNhbGxlZTt9OwoKdHJ5ewogIGlmKGYyICE9PSBmMigpKXsKICAgICRFUlJPUignIzI6IGFyZ3VtZW50cy5jYWxsZWUgPT09IGYyJyk7CiAgfQp9CmNhdGNoKGUpewogICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBleGlzdHMiKTsKfQoK","commentary":"The initial value of the created property callee is the\nFunction object being executed","description":"Checking that arguments.callee === function object","noStrict":"","path":"TestCases/ch10/10.6/S10.6_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOwp9CnRyeXsKICBpZihmMSgpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzE6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnbGVuZ3RoJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCi8vQ0hFQ0sjMgp2YXIgZjIgPSBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpO307CnRyeXsKICBpZihmMigpICE9PSB0cnVlKXsKICAgICRFUlJPUigiIzI6IGFyZ3VtZW50cyBvYmplY3QgZG9lc24ndCBjb250YWlucyBwcm9wZXJ0eSAnbGVuZ3RoJyIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvZXNuJ3QgZXhpc3RzIik7Cn0KCg==","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking existence of arguments.length property","path":"TestCases/ch10/10.6/S10.6_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQpmdW5jdGlvbiBmMSgpewogIGZvcih2YXIgeCBpbiBhcmd1bWVudHMpewogICAgaWYgKHggPT09ICJsZW5ndGgiKXsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogIH0KICByZXR1cm4gdHJ1ZTsKfQoKdHJ5ewogIGlmKCFmMSgpKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgbGVuZ3RoIGRvbid0IGhhdmUgYXR0cmlidXRlIHsgRG9udEVudW0gfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICBmb3IodmFyIHggaW4gYXJndW1lbnRzKXsKICAgIGlmICh4ID09PSAibGVuZ3RoIil7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CiAgcmV0dXJuIHRydWU7Cn0KCnRyeXsKICBpZighZjIoKSl7CiAgICAkRVJST1IoIiMyOiBBIHByb3BlcnR5IGxlbmd0aCBkb24ndCBoYXZlIGF0dHJpYnV0ZSB7IERvbnRFbnVtIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking if enumerating the arguments.length property fails","path":"TestCases/ch10/10.6/S10.6_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyBhcmd1bWVudHMubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmZ1bmN0aW9uIGYxKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmxlbmd0aCk7IAp9Cgp0cnl7CiAgaWYoIWYxKCkpewogICAgJEVSUk9SKCIjMTogQSBwcm9wZXJ0eSBsZW5ndGggaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMTogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoKLy9DSEVDSyMyCnZhciBmMiA9IGZ1bmN0aW9uKCl7CiAgcmV0dXJuIChkZWxldGUgYXJndW1lbnRzLmxlbmd0aCk7IAp9Cgp0cnl7CiAgaWYoIWYyKCkpewogICAgJEVSUk9SKCIjMjogQSBwcm9wZXJ0eSBsZW5ndGggaGF2ZSBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0iKTsKICB9Cn0KY2F0Y2goZSl7CiAgJEVSUk9SKCIjMjogYXJndW1lbnRzIG9iamVjdCBkb24ndCBleGlzdHMiKTsKfQoK","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Checking if deleting arguments.length property fails","path":"TestCases/ch10/10.6/S10.6_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGlzIGNyZWF0ZWQgd2l0aCBuYW1lIGxlbmd0aCB3aXRoIHByb3BlcnR5CiAqIGF0dHJpYnV0ZXMgeyBEb250RW51bSB9IGFuZCBubyBvdGhlcnMKICoKICogQHBhdGggY2gxMC8xMC42L1MxMC42X0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkaW5nIGFyZ3VtZW50cy5sZW5ndGggcHJvcGVydHkKICovCgp2YXIgc3RyID0gInNvbWV0aGluZyBkaWZmZXJlbnQiOwovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICBhcmd1bWVudHMubGVuZ3RoID0gc3RyOwogIHJldHVybiBhcmd1bWVudHM7Cn0KCnRyeXsKICBpZihmMSgpLmxlbmd0aCAhPT0gc3RyKXsKICAgICRFUlJPUigiIzE6IEEgcHJvcGVydHkgbGVuZ3RoIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMxOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9CgovL0NIRUNLIzIKdmFyIGYyID0gZnVuY3Rpb24oKXsKICAgIGFyZ3VtZW50cy5sZW5ndGggPSBzdHI7CiAgICByZXR1cm4gYXJndW1lbnRzOwogIH07CnRyeXsKICBpZihmMigpLmxlbmd0aCAhPT0gc3RyKXsKICAgICRFUlJPUigiIzI6IEEgcHJvcGVydHkgbGVuZ3RoIGhhdmUgYXR0cmlidXRlIHsgUmVhZE9ubHkgfSIpOwogIH0KfQpjYXRjaChlKXsKICAkRVJST1IoIiMyOiBhcmd1bWVudHMgb2JqZWN0IGRvbid0IGV4aXN0cyIpOwp9Cgo=","commentary":"A property is created with name length with property\nattributes { DontEnum } and no others","description":"Overriding arguments.length property","path":"TestCases/ch10/10.6/S10.6_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgY3JlYXRlZCBwcm9wZXJ0eSBsZW5ndGggaXMgdGhlIG51bWJlcgogKiBvZiBhY3R1YWwgcGFyYW1ldGVyIHZhbHVlcyBzdXBwbGllZCBieSB0aGUgY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGZ1bmN0aW9uLCB0aGF0IHJldHVybmVkIGFyZ3VtZW50cy5sZW5ndGgKICovCgpmdW5jdGlvbiBmMSgpewogIHJldHVybiBhcmd1bWVudHMubGVuZ3RoOwp9CgovL0NIRUNLIzEKaWYoIShmMSgpID09PSAwKSl7CiAgJEVSUk9SKCcjMTogYXJndW1lbnQubGVuZ3RoID09PSAwJyk7Cn0KCi8vQ0hFQ0sjMgppZighKGYxKDApID09PSAxKSl7CiAgJEVSUk9SKCcjMjogYXJndW1lbnQubGVuZ3RoID09PSAxJyk7Cn0KCi8vQ0hFQ0sjMwppZighKGYxKDAsIDEpID09PSAyKSl7CiAgJEVSUk9SKCcjMzogYXJndW1lbnQubGVuZ3RoID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNAppZighKGYxKDAsIDEsIDIpID09PSAzKSl7CiAgJEVSUk9SKCcjNDogYXJndW1lbnQubGVuZ3RoID09PSAzJyk7Cn0KCi8vQ0hFQ0sjNQppZighKGYxKDAsIDEsIDIsIDMpID09PSA0KSl7CiAgJEVSUk9SKCcjNTogYXJndW1lbnQubGVuZ3RoID09PSA0Jyk7Cn0KCnZhciBmMiA9IGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsKCi8vQ0hFQ0sjNgppZighKGYyKCkgPT09IDApKXsKICAkRVJST1IoJyM2OiBhcmd1bWVudC5sZW5ndGggPT09IDAnKTsKfQoKLy9DSEVDSyM3CmlmKCEoZjIoMCkgPT09IDEpKXsKICAkRVJST1IoJyM3OiBhcmd1bWVudC5sZW5ndGggPT09IDEnKTsKfQoKLy9DSEVDSyM4CmlmKCEoZjIoMCwgMSkgPT09IDIpKXsKICAkRVJST1IoJyM4OiBhcmd1bWVudC5sZW5ndGggPT09IDInKTsKfQoKLy9DSEVDSyM5CmlmKCEoZjIoMCwgMSwgMikgPT09IDMpKXsKICAkRVJST1IoJyM5OiBhcmd1bWVudC5sZW5ndGggPT09IDMnKTsKfQoKLy9DSEVDSyMxMAppZighKGYyKDAsIDEsIDIsIDMpID09PSA0KSl7CiAgJEVSUk9SKCcjMTA6IGFyZ3VtZW50Lmxlbmd0aCA9PT0gNCcpOwp9Cgo=","commentary":"The initial value of the created property length is the number\nof actual parameter values supplied by the caller","description":"Create function, that returned arguments.length","path":"TestCases/ch10/10.6/S10.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXQgYXJndW1lbnRzIG9mIGZ1bmN0aW9uCiAqCiAqIEBwYXRoIGNoMTAvMTAuNi9TMTAuNl9BNy5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHByb3BlcnR5IGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIGYxKCkgewogIHJldHVybiBhcmd1bWVudHM7Cn0KICAKLy9DSEVDSyMxLTUKZm9yKHZhciBpID0gMTsgaSA8IDU7IGkrKyl7ICAKaWYgKGYxKDEsMiwzLDQsNSlbaV0gIT09IChpKzEpKQogICRFUlJPUigiIyIraSsiOiBSZXR1cm5pbmcgZnVuY3Rpb24ncyBhcmd1bWVudHMgd29yayB3cm9uZywgZjEoMSwyLDMsNCw1KVsiK2krIl0gIT09ICIrKGkrMSkpOwp9Cgo=","commentary":"Get arguments of function","description":"Use property arguments","path":"TestCases/ch10/10.6/S10.6_A7.js"}]}} \ No newline at end of file