 = true;
  const proto1 = { "proto": "number one" };
  const proto2 = { "proto": "number two" };

  function TestElement() {
    const o = Reflect.construct(w.HTMLElement, [], new.target);
    assert_equals(Object.getPrototypeOf(o), proto2,
      "Must use the value returned from new.target.prototype");
    assert_not_equals(Object.getPrototypeOf(o), proto1,
      "Must not use the prototype stored at definition time");
  }

  const ElementWithDynamicPrototype = new Proxy(TestElement, {
      get: function 