//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new String('he' + 'llo') == new Object());
write(new String('he' + 'llo') == new Object());
write(new String('he' + 'llo') == [1, 2, 3]);
write(new String('he' + 'llo') == [1 ,2 , 3]);
write(new String('he' + 'llo') == new Array(3));
write(new String('he' + 'llo') == Array(3));
write(new String('he' + 'llo') == new Array(1 ,2 ,3));
write(new String('he' + 'llo') == Array(1));
write(new String('he' + 'llo') == foo);
write(new Object() == undefined);
write(new Object() == null);
write(new Object() == true);
write(new Object() == false);
write(new Object() == Boolean(true));
write(new Object() == Boolean(false));
write(new Object() == new Boolean(true));
write(new Object() == new Boolean(false));
write(new Object() == NaN);
write(new Object() == +0);
write(new Object() == -0);
write(new Object() == 0);
write(new Object() == 0.0);
write(new Object() == -0.0);
write(new Object() == +0.0);
write(new Object() == 1);
write(new Object() == 10);
write(new Object() == 10.0);
write(new Object() == 10.1);
write(new Object() == -1);
write(new Object() == -10);
write(new Object() == -10.0);
write(new Object() == -10.1);
write(new Object() == Number.MAX_VALUE);
write(new Object() == Number.MIN_VALUE);
write(new Object() == Number.NaN);
write(new Object() == Number.POSITIVE_INFINITY);
write(new Object() == Number.NEGATIVE_INFINITY);
write(new Object() == new Number(NaN));
write(new Object() == new Number(+0));
write(new Object() == new Number(-0));
write(new Object() == new Number(0));
write(new Object() == new Number(0.0));
write(new Object() == new Number(-0.0));
write(new Object() == new Number(+0.0));
write(new Object() == new Number(1));
write(new Object() == new Number(10));
write(new Object() == new Number(10.0));
write(new Object() == new Number(10.1));
write(new Object() == new Number(-1));
write(new Object() == new Number(-10));
write(new Object() == new Number(-10.0));
write(new Object() == new Number(-10.1));
write(new Object() == new Number(Number.MAX_VALUE));
write(new Object() == new Number(Number.MIN_VALUE));
write(new Object() == new Number(Number.NaN));
write(new Object() == new Number(Number.POSITIVE_INFINITY));
write(new Object() == new Number(Number.NEGATIVE_INFINITY));
write(new Object() == '');
write(new Object() == 0xa);
write(new Object() == 04);
write(new Object() == 'hello');
write(new Object() == 'hel' + 'lo');
write(new Object() == String(''));
write(new Object() == String('hello'));
write(new Object() == String('h' + 'ello'));
write(new Object() == new String(''));
write(new Object() == new String('hello'));
write(new Object() == new String('he' + 'llo'));
write(new Object() == new Object());
write(new Object() == new Object());
write(new Object() == [1, 2, 3]);
write(new Object() == [1 ,2 , 3]);
write(new Object() == new Array(3));
write(new Object() == Array(3));
write(new Object() == new Array(1 ,2 ,3));
write(new Object() == Array(1));
write(new Object() == foo);
write(new Object() == undefined);
write(new Object() == null);
write(new Object() == true);
write(new Object() == false);
write(new Object() == Boolean(true));
write(new Object() == Boolean(false));
write(new Object() == new Boolean(true));
write(new Object() == new Boolean(false));
write(new Object() == NaN);
write(new Object() == +0);
write(new Object() == -0);
write(new Object() == 0);
write(new Object() == 0.0);
write(new Object() == -0.0);
write(new Object() == +0.0);
write(new Object() == 1);
write(new Object() == 10);
write(new Object() == 10.0);
write(new Object() == 10.1);
write(new Object() == -1);
write(new Object() == -10);
write(new Object() == -10.0);
write(new Object() == -10.1);
write(new Object() == Number.MAX_VALUE);
write(new Object() == Number.MIN_VALUE);
write(new Object() == Number.NaN);
write(new Object() == Number.POSITIVE_INFINITY);
write(new Object() == Number.NEGATIVE_INFINITY);
write(new Object() == new Number(NaN));
write(new Object() == new Number(+0));
write(new Object() == new Number(-0));
write(new Object() == new Number(0));
write(new Object() == new Number(0.0));
write(new Object() == new Number(-0.0));
write(new Object() == new Number(+0.0));
write(new Object() == new Number(1));
write(new Object() == new Number(10));
write(new Object() == new Number(10.0));
write(new Object() == new Number(10.1));
write(new Object() == new Number(-1));
write(new Object() == new Number(-10));
write(new Object() == new Number(-10.0));
write(new Object() == new Number(-10.1));
write(new Object() == new Number(Number.MAX_VALUE));
write(new Object() == new Number(Number.MIN_VALUE));
write(new Object() == new Number(Number.NaN));
write(new Object() == new Number(Number.POSITIVE_INFINITY));
write(new Object() == new Number(Number.NEGATIVE_INFINITY));
write(new Object() == '');
write(new Object() == 0xa);
write(new Object() == 04);
write(new Object() == 'hello');
write(new Object() == 'hel' + 'lo');
write(new Object() == String(''));
write(new Object() == String('hello'));
write(new Object() == String('h' + 'ello'));
write(new Object() == new String(''));
write(new Object() == new String('hello'));
write(new Object() == new String('he' + 'llo'));
write(new Object() == new Object());
write(new Object() == new Object());
write(new Object() == [1, 2, 3]);
write(new Object() == [1 ,2 , 3]);
write(new Object() == new Array(3));
write(new Object() == Array(3));
write(new Object() == new Array(1 ,2 ,3));
write(new Object() == Array(1));
write(new Object() == foo);
write([1, 2, 3] == undefined);
write([1, 2, 3] == null);
write([1, 2, 3] == true);
write([1, 2, 3] == false);
write([1, 2, 3] == Boolean(true));
write([1, 2, 3] == Boolean(false));
write([1, 2, 3] == new Boolean(true));
write([1, 2, 3] == new Boolean(false));
write([1, 2, 3] == NaN);
write([1, 2, 3] == +0);
write([1, 2, 3] == -0);
write([1, 2, 3] == 0);
write([1, 2, 3] == 0.0);
write([1, 2, 3] == -0.0);
write([1, 2, 3] == +0.0);
write([1, 2, 3] == 1);
write([1, 2, 3] == 10);
write([1, 2, 3] == 10.0);
write([1, 2, 3] == 10.1);
write([1, 2, 3] == -1);
write([1, 2, 3] == -10);
write([1, 2, 3] == -10.0);
write([1, 2, 3] == -10.1);
write([1, 2, 3] == Number.MAX_VALUE);
write([1, 2, 3] == Number.MIN_VALUE);
write([1, 2, 3] == Number.NaN);
write([1, 2, 3] == Number.POSITIVE_INFINITY);
write([1, 2, 3] == Number.NEGATIVE_INFINITY);
write([1, 2, 3] == new Number(NaN));
write([1, 2, 3] == new Number(+0));
write([1, 2, 3] == new Number(-0));
write([1, 2, 3] == new Number(0));
write([1, 2, 3] == new Number(0.0));
write([1, 2, 3] == new Number(-0.0));
write([1, 2, 3] == new Number(+0.0));
write([1, 2, 3] == new Number(1));
write([1, 2, 3] == new Number(10));
write([1, 2, 3] == new Number(10.0));
write([1, 2, 3] == new Number(10.1));
write([1, 2, 3] == new Number(-1));
write([1, 2, 3] == new Number(-10));
write([1, 2, 3] == new Number(-10.0));
write([1, 2, 3] == new Number(-10.1));
write([1, 2, 3] == new Number(Number.MAX_VALUE));
write([1, 2, 3] == new Number(Number.MIN_VALUE));
write([1, 2, 3] == new Number(Number.NaN));
write([1, 2, 3] == new Number(Number.POSITIVE_INFINITY));
write([1, 2, 3] == new Number(Number.NEGATIVE_INFINITY));
write([1, 2, 3] == '');
write([1, 2, 3] == 0xa);
write([1, 2, 3] == 04);
write([1, 2, 3] == 'hello');
write([1, 2, 3] == 'hel' + 'lo');
write([1, 2, 3] == String(''));
write([1, 2, 3] == String('hello'));
write([1, 2, 3] == String('h' + 'ello'));
write([1, 2, 3] == new String(''));
write([1, 2, 3] == new String('hello'));
write([1, 2, 3] == new String('he' + 'llo'));
write([1, 2, 3] == new Object());
write([1, 2, 3] == new Object());
write([1, 2, 3] == [1, 2, 3]);
write([1, 2, 3] == [1 ,2 , 3]);
write([1, 2, 3] == new Array(3));
write([1, 2, 3] == Array(3));
write([1, 2, 3] == new Array(1 ,2 ,3));
write([1, 2, 3] == Array(1));
write([1, 2, 3] == foo);
write([1 ,2 , 3] == undefined);
write([1 ,2 , 3] == null);
write([1 ,2 , 3] == true);
write([1 ,2 , 3] == false);
write([1 ,2 , 3] == Boolean(true));
write([1 ,2 , 3] == Boolean(false));
write([1 ,2 , 3] == new Boolean(true));
write([1 ,2 , 3] == new Boolean(false));
write([1 ,2 , 3] == NaN);
write([1 ,2 , 3] == +0);
write([1 ,2 , 3] == -0);
write([1 ,2 , 3] == 0);
write([1 ,2 , 3] == 0.0);
write([1 ,2 , 3] == -0.0);
write([1 ,2 , 3] == +0.0);
write([1 ,2 , 3] == 1);
write([1 ,2 , 3] == 10);
write([1 ,2 , 3] == 10.0);
write([1 ,2 , 3] == 10.1);
write([1 ,2 , 3] == -1);
write([1 ,2 , 3] == -10);
write([1 ,2 , 3] == -10.0);
write([1 ,2 , 3] == -10.1);
write([1 ,2 , 3] == Number.MAX_VALUE);
write([1 ,2 , 3] == Number.MIN_VALUE);
write([1 ,2 , 3] == Number.NaN);
write([1 ,2 , 3] == Number.POSITIVE_INFINITY);
write([1 ,2 , 3] == Number.NEGATIVE_INFINITY);
write([1 ,2 , 3] == new Number(NaN));
write([1 ,2 , 3] == new Number(+0));
write([1 ,2 , 3] == new Number(-0));
write([1 ,2 , 3] == new Number(0));
write([1 ,2 , 3] == new Number(0.0));
write([1 ,2 , 3] == new Number(-0.0));
write([1 ,2 , 3] == new Number(+0.0));
write([1 ,2 , 3] == new Number(1));
write([1 ,2 , 3] == new Number(10));
write([1 ,2 , 3] == new Number(10.0));
write([1 ,2 , 3] == new Number(10.1));
write([1 ,2 , 3] == new Number(-1));
write([1 ,2 , 3] == new Number(-10));
write([1 ,2 , 3] == new Number(-10.0));
write([1 ,2 , 3] == new Number(-10.1));
write([1 ,2 , 3] == new Number(Number.MAX_VALUE));
write([1 ,2 , 3] == new Number(Number.MIN_VALUE));
write([1 ,2 , 3] == new Number(Number.NaN));
write([1 ,2 , 3] == new Number(Number.POSITIVE_INFINITY));
write([1 ,2 , 3] == new Number(Number.NEGATIVE_INFINITY));
write([1 ,2 , 3] == '');
write([1 ,2 , 3] == 0xa);
write([1 ,2 , 3] == 04);
write([1 ,2 , 3] == 'hello');
write([1 ,2 , 3] == 'hel' + 'lo');
write([1 ,2 , 3] == String(''));
write([1 ,2 , 3] == String('hello'));
write([1 ,2 , 3] == String('h' + 'ello'));
write([1 ,2 , 3] == new String(''));
write([1 ,2 , 3] == new String('hello'));
write([1 ,2 , 3] == new String('he' + 'llo'));
write([1 ,2 , 3] == new Object());
write([1 ,2 , 3] == new Object());
write([1 ,2 , 3] == [1, 2, 3]);
write([1 ,2 , 3] == [1 ,2 , 3]);
write([1 ,2 , 3] == new Array(3));
write([1 ,2 , 3] == Array(3));
write([1 ,2 , 3] == new Array(1 ,2 ,3));
write([1 ,2 , 3] == Array(1));
write([1 ,2 , 3] == foo);
write(new Array(3) == undefined);
write(new Array(3) == null);
write(new Array(3) == true);
write(new Array(3) == false);
write(new Array(3) == Boolean(true));
write(new Array(3) == Boolean(false));
write(new Array(3) == new Boolean(true));
write(new Array(3) == new Boolean(false));
write(new Array(3) == NaN);
write(new Array(3) == +0);
write(new Array(3) == -0);
write(new Array(3) == 0);
write(new Array(3) == 0.0);
write(new Array(3) == -0.0);
write(new Array(3) == +0.0);
write(new Array(3) == 1);
write(new Array(3) == 10);
write(new Array(3) == 10.0);
write(new Array(3) == 10.1);
write(new Array(3) == -1);
write(new Array(3) == -10);
write(new Array(3) == -10.0);
write(new Array(3) == -10.1);
write(new Array(3) == Number.MAX_VALUE);
write(new Array(3) == Number.MIN_VALUE);
write(new Array(3) == Number.NaN);
write(new Array(3) == Number.POSITIVE_INFINITY);
write(new Array(3) == Number.NEGATIVE_INFINITY);
write(new Array(3) == new Number(NaN));
write(new Array(3) == new Number(+0));
write(new Array(3) == new Number(-0));
write(new Array(3) == new Number(0));
write(new Array(3) == new Number(0.0));
write(new Array(3) == new Number(-0.0));
write(new Array(3) == new Number(+0.0));
write(new Array(3) == new Number(1));
write(new Array(3) == new Number(10));
write(new Array(3) == new Number(10.0));
write(new Array(3) == new Number(10.1));
write(new Array(3) == new Number(-1));
write(new Array(3) == new Number(-10));
write(new Array(3) == new Number(-10.0));
write(new Array(3) == new Number(-10.1));
write(new Array(3) == new Number(Number.MAX_VALUE));
write(new Array(3) == new Number(Number.MIN_VALUE));
write(new Array(3) == new Number(Number.NaN));
write(new Array(3) == new Number(Number.POSITIVE_INFINITY));
write(new Array(3) == new Number(Number.NEGATIVE_INFINITY));
write(new Array(3) == '');
write(new Array(3) == 0xa);
write(new Array(3) == 04);
write(new Array(3) == 'hello');
write(new Array(3) == 'hel' + 'lo');
write(new Array(3) == String(''));
write(new Array(3) == String('hello'));
write(new Array(3) == String('h' + 'ello'));
write(new Array(3) == new String(''));
write(new Array(3) == new String('hello'));
write(new Array(3) == new String('he' + 'llo'));
write(new Array(3) == new Object());
write(new Array(3) == new Object());
write(new Array(3) == [1, 2, 3]);
write(new Array(3) == [1 ,2 , 3]);
write(new Array(3) == new Array(3));
write(new Array(3) == Array(3));
write(new Array(3) == new Array(1 ,2 ,3));
write(new Array(3) == Array(1));
write(new Array(3) == foo);
write(Array(3) == undefined);
write(Array(3) == null);
write(Array(3) == true);
write(Array(3) == false);
write(Array(3) == Boolean(true));
write(Array(3) == Boolean(false));
write(Array(3) == new Boolean(true));
write(Array(3) == new Boolean(false));
write(Array(3) == NaN);
write(Array(3) == +0);
write(Array(3) == -0);
write(Array(3) == 0);
write(Array(3) == 0.0);
write(Array(3) == -0.0);
write(Array(3) == +0.0);
write(Array(3) == 1);
write(Array(3) == 10);
write(Array(3) == 10.0);
write(Array(3) == 10.1);
write(Array(3) == -1);
write(Array(3) == -10);
write(Array(3) == -10.0);
write(Array(3) == -10.1);
write(Array(3) == Number.MAX_VALUE);
write(Array(3) == Number.MIN_VALUE);
write(Array(3) == Number.NaN);
write(Array(3) == Number.POSITIVE_INFINITY);
write(Array(3) == Number.NEGATIVE_INFINITY);
write(Array(3) == new Number(NaN));
write(Array(3) == new Number(+0));
write(Array(3) == new Number(-0));
write(Array(3) == new Number(0));
write(Array(3) == new Number(0.0));
write(Array(3) == new Number(-0.0));
write(Array(3) == new Number(+0.0));
write(Array(3) == new Number(1));
write(Array(3) == new Number(10));
write(Array(3) == new Number(10.0));
write(Array(3) == new Number(10.1));
write(Array(3) == new Number(-1));
write(Array(3) == new Number(-10));
write(Array(3) == new Number(-10.0));
write(Array(3) == new Number(-10.1));
write(Array(3) == new Number(Number.MAX_VALUE));
write(Array(3) == new Number(Number.MIN_VALUE));
write(Array(3) == new Number(Number.NaN));
write(Array(3) == new Number(Number.POSITIVE_INFINITY));
write(Array(3) == new Number(Number.NEGATIVE_INFINITY));
write(Array(3) == '');
write(Array(3) == 0xa);
write(Array(3) == 04);
write(Array(3) == 'hello');
write(Array(3) == 'hel' + 'lo');
write(Array(3) == String(''));
write(Array(3) == String('hello'));
write(Array(3) == String('h' + 'ello'));
write(Array(3) == new String(''));
write(Array(3) == new String('hello'));
write(Array(3) == new String('he' + 'llo'));
write(Array(3) == new Object());
write(Array(3) == new Object());
write(Array(3) == [1, 2, 3]);
write(Array(3) == [1 ,2 , 3]);
write(Array(3) == new Array(3));
write(Array(3) == Array(3));
write(Array(3) == new Array(1 ,2 ,3));
write(Array(3) == Array(1));
write(Array(3) == foo);
write(new Array(1 ,2 ,3) == undefined);
write(new Array(1 ,2 ,3) == null);
write(new Array(1 ,2 ,3) == true);
write(new Array(1 ,2 ,3) == false);
write(new Array(1 ,2 ,3) == Boolean(true));
write(new Array(1 ,2 ,3) == Boolean(false));
write(new Array(1 ,2 ,3) == new Boolean(true));
write(new Array(1 ,2 ,3) == new Boolean(false));
write(new Array(1 ,2 ,3) == NaN);
write(new Array(1 ,2 ,3) == +0);
write(new Array(1 ,2 ,3) == -0);
write(new Array(1 ,2 ,3) == 0);
write(new Array(1 ,2 ,3) == 0.0);
write(new Array(1 ,2 ,3) == -0.0);
write(new Array(1 ,2 ,3) == +0.0);
write(new Array(1 ,2 ,3) == 1);
write(new Array(1 ,2 ,3) == 10);
write(new Array(1 ,2 ,3) == 10.0);
write(new Array(1 ,2 ,3) == 10.1);
write(new Array(1 ,2 ,3) == -1);
write(new Array(1 ,2 ,3) == -10);
write(new Array(1 ,2 ,3) == -10.0);
write(new Array(1 ,2 ,3) == -10.1);
write(new Array(1 ,2 ,3) == Number.MAX_VALUE);
write(new Array(1 ,2 ,3) == Number.MIN_VALUE);
write(new Array(1 ,2 ,3) == Number.NaN);
write(new Array(1 ,2 ,3) == Number.POSITIVE_INFINITY);
write(new Array(1 ,2 ,3) == Number.NEGATIVE_INFINITY);
write(new Array(1 ,2 ,3) == new Number(NaN));
write(new Array(1 ,2 ,3) == new Number(+0));
write(new Array(1 ,2 ,3) == new Number(-0));
write(new Array(1 ,2 ,3) == new Number(0));
write(new Array(1 ,2 ,3) == new Number(0.0));
write(new Array(1 ,2 ,3) == new Number(-0.0));
write(new Array(1 ,2 ,3) == new Number(+0.0));
write(new Array(1 ,2 ,3) == new Number(1));
write(new Array(1 ,2 ,3) == new Number(10));
write(new Array(1 ,2 ,3) == new Number(10.0));
write(new Array(1 ,2 ,3) == new Number(10.1));
write(new Array(1 ,2 ,3) == new Number(-1));
write(new Array(1 ,2 ,3) == new Number(-10));
write(new Array(1 ,2 ,3) == new Number(-10.0));
write(new Array(1 ,2 ,3) == new Number(-10.1));
write(new Array(1 ,2 ,3) == new Number(Number.MAX_VALUE));
write(new Array(1 ,2 ,3) == new Number(Number.MIN_VALUE));
write(new Array(1 ,2 ,3) == new Number(Number.NaN));
write(new Array(1 ,2 ,3) == new Number(Number.POSITIVE_INFINITY));
write(new Array(1 ,2 ,3) == new Number(Number.NEGATIVE_INFINITY));
write(new Array(1 ,2 ,3) == '');
write(new Array(1 ,2 ,3) == 0xa);
write(new Array(1 ,2 ,3) == 04);
write(new Array(1 ,2 ,3) == 'hello');
write(new Array(1 ,2 ,3) == 'hel' + 'lo');
write(new Array(1 ,2 ,3) == String(''));
write(new Array(1 ,2 ,3) == String('hello'));
write(new Array(1 ,2 ,3) == String('h' + 'ello'));
write(new Array(1 ,2 ,3) == new String(''));
write(new Array(1 ,2 ,3) == new String('hello'));
write(new Array(1 ,2 ,3) == new String('he' + 'llo'));
write(new Array(1 ,2 ,3) == new Object());
write(new Array(1 ,2 ,3) == new Object());
write(new Array(1 ,2 ,3) == [1, 2, 3]);
write(new Array(1 ,2 ,3) == [1 ,2 , 3]);
write(new Array(1 ,2 ,3) == new Array(3));
write(new Array(1 ,2 ,3) == Array(3));
write(new Array(1 ,2 ,3) == new Array(1 ,2 ,3));
write(new Array(1 ,2 ,3) == Array(1));
write(new Array(1 ,2 ,3) == foo);
write(Array(1) == undefined);
write(Array(1) == null);
write(Array(1) == true);
write(Array(1) == false);
write(Array(1) == Boolean(true));
write(Array(1) == Boolean(false));
write(Array(1) == new Boolean(true));
write(Array(1) == new Boolean(false));
write(Array(1) == NaN);
write(Array(1) == +0);
write(Array(1) == -0);
write(Array(1) == 0);
write(Array(1) == 0.0);
write(Array(1) == -0.0);
write(Array(1) == +0.0);
write(Array(1) == 1);
write(Array(1) == 10);
write(Array(1) == 10.0);
write(Array(1) == 10.1);
write(Array(1) == -1);
write(Array(1) == -10);
write(Array(1) == -10.0);
write(Array(1) == -10.1);
write(Array(1) == Number.MAX_VALUE);
write(Array(1) == Number.MIN_VALUE);
write(Array(1) == Number.NaN);
write(Array(1) == Number.POSITIVE_INFINITY);
write(Array(1) == Number.NEGATIVE_INFINITY);
write(Array(1) == new Number(NaN));
write(Array(1) == new Number(+0));
write(Array(1) == new Number(-0));
write(Array(1) == new Number(0));
write(Array(1) == new Number(0.0));
write(Array(1) == new Number(-0.0));
write(Array(1) == new Number(+0.0));
write(Array(1) == new Number(1));
write(Array(1) == new Number(10));
write(Array(1) == new Number(10.0));
write(Array(1) == new Number(10.1));
write(Array(1) == new Number(-1));
write(Array(1) == new Number(-10));
write(Array(1) == new Number(-10.0));
write(Array(1) == new Number(-10.1));
write(Array(1) == new Number(Number.MAX_VALUE));
write(Array(1) == new Number(Number.MIN_VALUE));
write(Array(1) == new Number(Number.NaN));
write(Array(1) == new Number(Number.POSITIVE_INFINITY));
write(Array(1) == new Number(Number.NEGATIVE_INFINITY));
write(Array(1) == '');
write(Array(1) == 0xa);
write(Array(1) == 04);
write(Array(1) == 'hello');
write(Array(1) == 'hel' + 'lo');
write(Array(1) == String(''));
write(Array(1) == String('hello'));
write(Array(1) == String('h' + 'ello'));
write(Array(1) == new String(''));
write(Array(1) == new String('hello'));
write(Array(1) == new String('he' + 'llo'));
write(Array(1) == new Object());
write(Array(1) == new Object());
write(Array(1) == [1, 2, 3]);
write(Array(1) == [1 ,2 , 3]);
write(Array(1) == new Array(3));
write(Array(1) == Array(3));
write(Array(1) == new Array(1 ,2 ,3));
write(Array(1) == Array(1));
write(Array(1) == foo);
write(foo == undefined);
write(foo == null);
write(foo == true);
write(foo == false);
write(foo == Boolean(true));
write(foo == Boolean(false));
write(foo == new Boolean(true));
write(foo == new Boolean(false));
write(foo == NaN);
write(foo == +0);
write(foo == -0);
write(foo == 0);
write(foo == 0.0);
write(foo == -0.0);
write(foo == +0.0);
write(foo == 1);
write(foo == 10);
write(foo == 10.0);
write(foo == 10.1);
write(foo == -1);
write(foo == -10);
write(foo == -10.0);
write(foo == -10.1);
write(foo == Number.MAX_VALUE);
write(foo == Number.MIN_VALUE);
write(foo == Number.NaN);
write(foo == Number.POSITIVE_INFINITY);
write(foo == Number.NEGATIVE_INFINITY);
write(foo == new Number(NaN));
write(foo == new Number(+0));
write(foo == new Number(-0));
write(foo == new Number(0));
write(foo == new Number(0.0));
write(foo == new Number(-0.0));
write(foo == new Number(+0.0));
write(foo == new Number(1));
write(foo == new Number(10));
write(foo == new Number(10.0));
write(foo == new Number(10.1));
write(foo == new Number(-1));
write(foo == new Number(-10));
write(foo == new Number(-10.0));
write(foo == new Number(-10.1));
write(foo == new Number(Number.MAX_VALUE));
write(foo == new Number(Number.MIN_VALUE));
write(foo == new Number(Number.NaN));
write(foo == new Number(Number.POSITIVE_INFINITY));
write(foo == new Number(Number.NEGATIVE_INFINITY));
write(foo == '');
write(foo == 0xa);
write(foo == 04);
write(foo == 'hello');
write(foo == 'hel' + 'lo');
write(foo == String(''));
write(foo == String('hello'));
write(foo == String('h' + 'ello'));
write(foo == new String(''));
write(foo == new String('hello'));
write(foo == new String('he' + 'llo'));
write(foo == new Object());
write(foo == new Object());
write(foo == [1, 2, 3]);
write(foo == [1 ,2 , 3]);
write(foo == new Array(3));
write(foo == Array(3));
write(foo == new Array(1 ,2 ,3));
write(foo == Array(1));
write(foo == foo);
