digraph {
graph [overlap=false]
subgraph cluster_Class_MOP_Mixin_HasMethods {
	label="Class::MOP::Mixin::HasMethods";
	"Class::MOP::Mixin::HasMethods::BEGIN@7";
	"Class::MOP::Mixin::HasMethods::BEGIN@12";
	"Class::MOP::Mixin::HasMethods::BEGIN@5";
	"Class::MOP::Mixin::HasMethods::_code_is_mine";
	"Class::MOP::Mixin::HasMethods::BEGIN@9";
	"Class::MOP::Mixin::HasMethods::BEGIN@4";
	"Class::MOP::Mixin::HasMethods::add_method";
	"Class::MOP::Mixin::HasMethods::BEGIN@10";
}
subgraph cluster_Moose {
	label="Moose";
	"Moose::BEGIN@32";
	"Moose::BEGIN@26";
	"Moose::init_meta";
	"Moose::BEGIN@38";
	"Moose::BEGIN@34";
	"Moose::BEGIN@24";
	"Moose::BEGIN@35";
	"Moose::BEGIN@36";
	"Moose::BEGIN@33";
	"Moose::BEGIN@25";
}
subgraph cluster_parent {
	label="parent";
	"parent::import";
}
subgraph cluster_UNIVERSAL {
	label="UNIVERSAL";
	"UNIVERSAL::VERSION";
}
subgraph cluster_Moose_Meta_Class {
	label="Moose::Meta::Class";
	"Moose::Meta::Class::excludes_role";
	"Moose::Meta::Class::initialize";
	"Moose::Meta::Class::superclasses";
}
subgraph cluster_MRO_Compat {
	label="MRO::Compat";
	"MRO::Compat::BEGIN@118";
	"MRO::Compat::BEGIN@258";
	"MRO::Compat::BEGIN@227";
	"MRO::Compat::BEGIN@10";
	"MRO::Compat::BEGIN@2";
	"MRO::Compat::BEGIN@228";
	"MRO::Compat::BEGIN@39";
	"MRO::Compat::BEGIN@3";
}
subgraph cluster_Exporter {
	label="Exporter";
	"Exporter::import";
}
subgraph cluster_Class_MOP_Attribute {
	label="Class::MOP::Attribute";
	"Class::MOP::Attribute::BEGIN@7";
	"Class::MOP::Attribute::BEGIN@11";
	"Class::MOP::Attribute::BEGIN@9";
	"Class::MOP::Attribute::BEGIN@10";
	"Class::MOP::Attribute::BEGIN@13";
	"Class::MOP::Attribute::BEGIN@5";
	"Class::MOP::Attribute::BEGIN@4";
}
subgraph cluster_Moose_Meta_Attribute {
	label="Moose::Meta::Attribute";
	"Moose::Meta::Attribute::_new";
	"Moose::Meta::Attribute::BEGIN@16";
}
subgraph cluster_Class_MOP_Mixin_HasAttributes {
	label="Class::MOP::Mixin::HasAttributes";
	"Class::MOP::Mixin::HasAttributes::BEGIN@9";
	"Class::MOP::Mixin::HasAttributes::BEGIN@4";
	"Class::MOP::Mixin::HasAttributes::BEGIN@7";
	"Class::MOP::Mixin::HasAttributes::BEGIN@5";
}
subgraph cluster_warnings {
	label="warnings";
	"warnings::import";
}
subgraph cluster_Moose_Exporter {
	label="Moose::Exporter";
	"Moose::Exporter::__ANON__[Moose/Exporter.pm:39]";
	"Moose::Exporter::__ANON__[Moose/Exporter.pm:252]";
	"Moose::Exporter::BEGIN@8";
}
subgraph cluster_Moose_Meta_Role {
	label="Moose::Meta::Role";
	"Moose::Meta::Role::BEGIN@11";
	"Moose::Meta::Role::BEGIN@13";
	"Moose::Meta::Role::BEGIN@14";
	"Moose::Meta::Role::_new";
	"Moose::Meta::Role::initialize";
}
subgraph cluster_Moose_Util_TypeConstraints {
	label="Moose::Util::TypeConstraints";
	"Moose::Util::TypeConstraints::BEGIN@28";
	"Moose::Util::TypeConstraints::BEGIN@34";
	"Moose::Util::TypeConstraints::BEGIN@25";
	"Moose::Util::TypeConstraints::BEGIN@30";
	"Moose::Util::TypeConstraints::BEGIN@26";
	"Moose::Util::TypeConstraints::BEGIN@29";
	"Moose::Util::TypeConstraints::BEGIN@31";
}
subgraph cluster_Sub_Install {
	label="Sub::Install";
	"Sub::Install::__ANON__[Sub/Install.pm:284]";
}
subgraph cluster_Moose_Meta_TypeConstraint_Parameterized {
	label="Moose::Meta::TypeConstraint::Parameterized";
	"Moose::Meta::TypeConstraint::Parameterized::BEGIN@10";
}
subgraph cluster_Scalar_Util {
	label="Scalar::Util";
	"Scalar::Util::isweak";
	"Scalar::Util::blessed";
}
subgraph cluster_Class_MOP_Mixin_HasOverloads {
	label="Class::MOP::Mixin::HasOverloads";
	"Class::MOP::Mixin::HasOverloads::BEGIN@9";
	"Class::MOP::Mixin::HasOverloads::BEGIN@13";
	"Class::MOP::Mixin::HasOverloads::BEGIN@4";
	"Class::MOP::Mixin::HasOverloads::BEGIN@50";
	"Class::MOP::Mixin::HasOverloads::BEGIN@15";
	"Class::MOP::Mixin::HasOverloads::BEGIN@10";
	"Class::MOP::Mixin::HasOverloads::BEGIN@11";
	"Class::MOP::Mixin::HasOverloads::BEGIN@7";
	"Class::MOP::Mixin::HasOverloads::BEGIN@5";
}
subgraph cluster_Class_MOP_Object {
	label="Class::MOP::Object";
	"Class::MOP::Object::_new";
}
subgraph cluster_Moose_Util {
	label="Moose::Util";
	"Moose::Util::find_meta";
}
subgraph cluster_strict {
	label="strict";
	"strict::import";
}
subgraph cluster_Class_MOP_Class {
	label="Class::MOP::Class";
	"Class::MOP::Class::BEGIN@14";
	"Class::MOP::Class::class_precedence_list";
	"Class::MOP::Class::BEGIN@5";
	"Class::MOP::Class::BEGIN@15";
	"Class::MOP::Class::initialize";
	"Class::MOP::Class::BEGIN@16";
	"Class::MOP::Class::BEGIN@9";
	"Class::MOP::Class::_construct_class_instance";
	"Class::MOP::Class::_immutable_metaclass";
	"Class::MOP::Class::BEGIN@17";
	"Class::MOP::Class::BEGIN@7";
	"Class::MOP::Class::BEGIN@13";
	"Class::MOP::Class::_construct_instance";
	"Class::MOP::Class::_single_metaclass_is_compatible";
	"Class::MOP::Class::BEGIN@10";
	"Class::MOP::Class::_inline_preserve_weak_metaclasses";
	"Class::MOP::Class::_class_metaclass_is_compatible";
	"Class::MOP::Class::BEGIN@4";
	"Class::MOP::Class::_superclasses_updated";
	"Class::MOP::Class::BEGIN@18";
	"Class::MOP::Class::BEGIN@20";
	"Class::MOP::Class::BEGIN@11";
	"Class::MOP::Class::BEGIN@8";
}
subgraph cluster_Class_MOP {
	label="Class::MOP";
	"Class::MOP::does_metaclass_exist";
	"Class::MOP::BEGIN@16";
	"Class::MOP::__ANON__[Class/MOP.pm:499]";
	"Class::MOP::BEGIN@4";
	"Class::MOP::__ANON__[Class/MOP.pm:270]";
	"Class::MOP::__ANON__[Class/MOP.pm:184]";
	"Class::MOP::BEGIN@17";
	"Class::MOP::get_metaclass_by_name";
	"Class::MOP::BEGIN@14";
	"Class::MOP::class_of";
	"Class::MOP::BEGIN@7";
	"Class::MOP::BEGIN@18";
	"Class::MOP::__ANON__[Class/MOP.pm:139]";
	"Class::MOP::__ANON__[Class/MOP.pm:290]";
	"Class::MOP::BEGIN@19";
	"Class::MOP::__ANON__[Class/MOP.pm:243]";
	"Class::MOP::__ANON__[Class/MOP.pm:307]";
	"Class::MOP::BEGIN@15";
	"Class::MOP::store_metaclass_by_name";
	"Class::MOP::__ANON__";
	"Class::MOP::BEGIN@20";
	"Class::MOP::__ANON__[Class/MOP.pm:211]";
	"Class::MOP::_definition_context";
	"Class::MOP::metaclass_is_weak";
	"Class::MOP::BEGIN@10";
	"Class::MOP::BEGIN@11";
	"Class::MOP::BEGIN@9";
	"Class::MOP::BEGIN@12";
	"Class::MOP::BEGIN@5";
	"Class::MOP::BEGIN@22";
	"Class::MOP::get_code_info";
}
subgraph cluster_Moose_Role {
	label="Moose::Role";
	"Moose::Role::init_meta";
}
subgraph cluster_Class_MOP_Package {
	label="Class::MOP::Package";
	"Class::MOP::Package::initialize";
}
subgraph cluster_Class_MOP_Mixin_AttributeCore {
	label="Class::MOP::Mixin::AttributeCore";
	"Class::MOP::Mixin::AttributeCore::BEGIN@4";
	"Class::MOP::Mixin::AttributeCore::default";
	"Class::MOP::Mixin::AttributeCore::BEGIN@5";
	"Class::MOP::Mixin::AttributeCore::BEGIN@7";
	"Class::MOP::Mixin::AttributeCore::BEGIN@9";
}
subgraph cluster_Moose_Meta_TypeCoercion {
	label="Moose::Meta::TypeCoercion";
	"Moose::Meta::TypeCoercion::BEGIN@8";
}
"Class::MOP::Mixin::AttributeCore::default" -> "Class::MOP::__ANON__[Class/MOP.pm:184]";
"Moose::Meta::Role::_new" -> "Class::MOP::__ANON__[Class/MOP.pm:184]";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@17";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@14";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@10";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@11";
"Class::MOP::BEGIN@11" -> "Exporter::import";
"Class::MOP::BEGIN@9" -> "MRO::Compat::BEGIN@10";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasOverloads::BEGIN@5";
"Class::MOP::BEGIN@9" -> "MRO::Compat::BEGIN@258";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@10";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@10";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@18";
"Class::MOP::BEGIN@16" -> "Class::MOP::Mixin::HasMethods::BEGIN@9";
"Class::MOP::Mixin::AttributeCore::default" -> "Class::MOP::__ANON__[Class/MOP.pm:270]";
"Moose::Meta::Role::_new" -> "Class::MOP::__ANON__[Class/MOP.pm:270]";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@5";
"Class::MOP::class_of" -> "Scalar::Util::blessed";
"Class::MOP::Class::class_precedence_list" -> "Class::MOP::__ANON__";
"Class::MOP::Mixin::AttributeCore::default" -> "Class::MOP::__ANON__[Class/MOP.pm:211]";
"Moose::Meta::Role::_new" -> "Class::MOP::__ANON__[Class/MOP.pm:211]";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@20";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@15";
"Class::MOP::Mixin::AttributeCore::default" -> "Class::MOP::__ANON__[Class/MOP.pm:290]";
"Moose::Meta::Role::_new" -> "Class::MOP::__ANON__[Class/MOP.pm:290]";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@5";
"Class::MOP::Object::_new" -> "Class::MOP::class_of";
"Moose::Exporter::__ANON__[Moose/Exporter.pm:39]" -> "Class::MOP::class_of";
"Moose::Meta::Class::excludes_role" -> "Class::MOP::class_of";
"Class::MOP::Class::_superclasses_updated" -> "Class::MOP::class_of";
"Moose::Meta::Class::superclasses" -> "Class::MOP::class_of";
"Moose::Util::find_meta" -> "Class::MOP::class_of";
"Moose::Exporter::__ANON__[Moose/Exporter.pm:252]" -> "Class::MOP::class_of";
"Moose::Meta::Attribute::BEGIN@16" -> "Class::MOP::class_of";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@17";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@13";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasOverloads::BEGIN@15";
"Class::MOP::metaclass_is_weak" -> "Scalar::Util::isweak";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@7";
"Class::MOP::BEGIN@14" -> "Class::MOP::Mixin::AttributeCore::BEGIN@7";
"Class::MOP::Mixin::AttributeCore::default" -> "Class::MOP::__ANON__[Class/MOP.pm:243]";
"Moose::Meta::Role::_new" -> "Class::MOP::__ANON__[Class/MOP.pm:243]";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@4";
"Class::MOP::BEGIN@5" -> "warnings::import";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasOverloads::BEGIN@10";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@11";
"Class::MOP::BEGIN@9" -> "MRO::Compat::BEGIN@227";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasOverloads::BEGIN@13";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@9";
"Class::MOP::BEGIN@15" -> "Class::MOP::Mixin::HasAttributes::BEGIN@7";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@5";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@16";
"Class::MOP::Mixin::AttributeCore::default" -> "Class::MOP::__ANON__[Class/MOP.pm:139]";
"Moose::Meta::Role::_new" -> "Class::MOP::__ANON__[Class/MOP.pm:139]";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@20";
"Moose::Meta::Role::BEGIN@13" -> "Class::MOP::_definition_context";
"Moose::BEGIN@26" -> "Class::MOP::_definition_context";
"Moose::Meta::TypeConstraint::Parameterized::BEGIN@10" -> "Class::MOP::_definition_context";
"Moose::Util::TypeConstraints::BEGIN@28" -> "Class::MOP::_definition_context";
"Moose::BEGIN@34" -> "Class::MOP::_definition_context";
"Moose::Util::TypeConstraints::BEGIN@25" -> "Class::MOP::_definition_context";
"Moose::Meta::Role::BEGIN@11" -> "Class::MOP::_definition_context";
"Moose::BEGIN@36" -> "Class::MOP::_definition_context";
"Moose::BEGIN@32" -> "Class::MOP::_definition_context";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::_definition_context";
"Moose::Util::TypeConstraints::BEGIN@30" -> "Class::MOP::_definition_context";
"parent::import" -> "Class::MOP::_definition_context";
"Moose::Meta::TypeCoercion::BEGIN@8" -> "Class::MOP::_definition_context";
"Moose::BEGIN@38" -> "Class::MOP::_definition_context";
"Moose::Util::TypeConstraints::BEGIN@34" -> "Class::MOP::_definition_context";
"Moose::BEGIN@24" -> "Class::MOP::_definition_context";
"Moose::BEGIN@35" -> "Class::MOP::_definition_context";
"Moose::Meta::Role::BEGIN@14" -> "Class::MOP::_definition_context";
"Moose::Util::TypeConstraints::BEGIN@26" -> "Class::MOP::_definition_context";
"Moose::BEGIN@33" -> "Class::MOP::_definition_context";
"Moose::BEGIN@25" -> "Class::MOP::_definition_context";
"Moose::Util::TypeConstraints::BEGIN@29" -> "Class::MOP::_definition_context";
"Moose::Util::TypeConstraints::BEGIN@31" -> "Class::MOP::_definition_context";
"Class::MOP::BEGIN@10" -> "UNIVERSAL::VERSION";
"Class::MOP::BEGIN@4" -> "strict::import";
"Class::MOP::Mixin::HasMethods::_code_is_mine" -> "Class::MOP::get_code_info";
"Class::MOP::Mixin::HasMethods::add_method" -> "Class::MOP::get_code_info";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@14";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@9";
"Class::MOP::BEGIN@16" -> "Class::MOP::Mixin::HasMethods::BEGIN@7";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@13";
"Class::MOP::BEGIN@14" -> "Class::MOP::Mixin::AttributeCore::BEGIN@4";
"Class::MOP::Class::_immutable_metaclass" -> "Class::MOP::does_metaclass_exist";
"Class::MOP::Mixin::AttributeCore::default" -> "Class::MOP::__ANON__[Class/MOP.pm:499]";
"Moose::Meta::Attribute::_new" -> "Class::MOP::__ANON__[Class/MOP.pm:499]";
"Class::MOP::BEGIN@16" -> "Class::MOP::Mixin::HasMethods::BEGIN@12";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@19";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@7";
"Class::MOP::Mixin::AttributeCore::default" -> "Class::MOP::__ANON__[Class/MOP.pm:307]";
"Class::MOP::BEGIN@12" -> "Sub::Install::__ANON__[Sub/Install.pm:284]";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasOverloads::BEGIN@7";
"Class::MOP::BEGIN@14" -> "Class::MOP::Mixin::AttributeCore::BEGIN@9";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@8";
"Class::MOP::Package::initialize" -> "Class::MOP::store_metaclass_by_name";
"Class::MOP::Class::_construct_class_instance" -> "Class::MOP::store_metaclass_by_name";
"Class::MOP::BEGIN@9" -> "MRO::Compat::BEGIN@3";
"Class::MOP::BEGIN@15" -> "Class::MOP::Mixin::HasAttributes::BEGIN@4";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@7";
"Class::MOP::BEGIN@16" -> "Class::MOP::Mixin::HasMethods::BEGIN@4";
"Class::MOP::BEGIN@19" -> "Class::MOP::Attribute::BEGIN@4";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@15";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@12";
"Class::MOP::BEGIN@15" -> "Class::MOP::Mixin::HasAttributes::BEGIN@5";
"Class::MOP::BEGIN@14" -> "Class::MOP::Mixin::AttributeCore::BEGIN@5";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@4";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@18";
"Class::MOP::BEGIN@9" -> "MRO::Compat::BEGIN@118";
"Class::MOP::BEGIN@9" -> "MRO::Compat::BEGIN@228";
"Class::MOP::Class::_inline_preserve_weak_metaclasses" -> "Class::MOP::metaclass_is_weak";
"Class::MOP::Class::_construct_instance" -> "Class::MOP::metaclass_is_weak";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasOverloads::BEGIN@9";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@16";
"Class::MOP::BEGIN@15" -> "Class::MOP::Mixin::HasAttributes::BEGIN@9";
"Class::MOP::BEGIN@9" -> "MRO::Compat::BEGIN@2";
"Class::MOP::Class::_single_metaclass_is_compatible" -> "Class::MOP::get_metaclass_by_name";
"Moose::init_meta" -> "Class::MOP::get_metaclass_by_name";
"Class::MOP::Class::_class_metaclass_is_compatible" -> "Class::MOP::get_metaclass_by_name";
"Moose::Meta::Class::initialize" -> "Class::MOP::get_metaclass_by_name";
"Class::MOP::Class::initialize" -> "Class::MOP::get_metaclass_by_name";
"Moose::Meta::Role::initialize" -> "Class::MOP::get_metaclass_by_name";
"Class::MOP::Package::initialize" -> "Class::MOP::get_metaclass_by_name";
"Class::MOP::Class::_construct_class_instance" -> "Class::MOP::get_metaclass_by_name";
"Moose::Role::init_meta" -> "Class::MOP::get_metaclass_by_name";
"Class::MOP::BEGIN@9" -> "MRO::Compat::BEGIN@39";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasOverloads::BEGIN@50";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasOverloads::BEGIN@11";
"Class::MOP::BEGIN@16" -> "Class::MOP::Mixin::HasMethods::BEGIN@5";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@9";
"Class::MOP::BEGIN@16" -> "Class::MOP::Mixin::HasMethods::BEGIN@10";
"Class::MOP::BEGIN@17" -> "Class::MOP::Mixin::HasOverloads::BEGIN@4";
"Class::MOP::BEGIN@18" -> "Class::MOP::Class::BEGIN@11";
"Moose::Exporter::BEGIN@8" -> "Class::MOP::BEGIN@22";
}
