library;
import self as self;
import "dart:core" as core;

class I<X extends core::Object> extends core::Object {
  synthetic constructor •() → void
    ;
}
class M0<T extends core::Object> extends self::I<core::List<self::M0::T>> {
  synthetic constructor •() → void
    ;
}
class M1<T extends core::Object> extends self::I<core::List<self::M1::T>> {
  synthetic constructor •() → void
    ;
}
class M2<T extends core::Object> extends self::M1<core::Map<self::M2::T, self::M2::T>> {
  synthetic constructor •() → void
    ;
}
abstract class _M2&M0^#U0^<#U0 extends core::Object> = self::M2<self::_M2&M0^#U0^::#U0> with self::M0<dynamic> {
}
class A extends self::_M2&M0^#U0^<core::int> {
  synthetic constructor •() → void
    ;
}
static method main() → dynamic
  ;
