// inside with(o)
foo = 2, bar = 3, baz = 4, fizz = 5
_root.o.foo = 2, _root.o.bar = undefined, _root.o.baz = undefined, _root.o.fizz = undefined
// outside with(o)
foo = undefined, bar = 3, baz = 4, fizz = 5
o.foo = 2, o.bar = undefined, o.baz = undefined, o.fizz = undefined
// outside test()
foo = undefined, bar = 3, baz = undefined, fizz = 5
o.foo = 2, o.bar = undefined, o.baz = undefined, o.fizz = undefined
// inside with(o)
buzz = 10
_root.o.buzz = undefined
_root.p.buzz = undefined
// outside with(o), inside with(p)
buzz = 10
_root.o.buzz = undefined
_root.p.buzz = undefined
// outside with(p)
buzz = 10
_root.o.buzz = undefined
_root.p.buzz = undefined
// outside test2()
buzz = undefined
_root.o.buzz = undefined
_root.p.buzz = undefined
// with(m) (DefineLocal that already exists)
b = 10
c = 10
d = 10
m.b = 10
m.c = undefined
c = 10
m.d = undefined
d = 10
// with(n) (DefineLocal that already exists, prototype)
b = 10
c = 10
d = 20
m.b = 10
m.c = undefined
c = 10
m.d = 20
d = 10
