interface A : B {
attribute DOMString a;
};
interface B : C {
[Default] object toJSON();
attribute long b;
};
interface C {
attribute DOMString c;
};
interface mixin D {
[Default] object toJSON();
attribute float d;
};
interface mixin G {
[Default] object toJSON();
attribute octet g;
};
interface mixin H {
[Default] object toJSON();
attribute DOMString h;
};
interface mixin I {
[Default] object toJSON();
attribute boolean i;
};
A includes G;
A includes H;
B includes D;