{
var myRe = "(?<MangledName>\?(?<BasicName>(?<NameFragment>(?:[A-Za-z_0-9]+@|\?\$([A-Za-z_0-9]+@)+(?&ArgumentList)|\?(?&MangledName)))|(?<SpecialName>\?_{0,2}[0-9A-Z]))(?<Qualification>(?&NameFragment)|\?[0-9A]|[0-9])*@(?:(?<QualifiedTypeCode>(?<FunctionTypeCode>(?<ManagedFunction>\$\$F)?(?<BasedProperty>(?<AccessLevelFunctionType>[A-Z])|_(?&AccessLevelFunctionType)[025])(?<AdjustorPropertyIfThunk>[0-9])?(?<FunctionModifierIfNonStatic>(?&CVClassModifier))(?<CallingConvention>[ABCDEFGHIJKLM])(?<ReturnValueTypeCode>(?<DataTypeCode>(?<Modifier>\?(?&CVClassModifier))?(?:(?<TemplateParameter>(?:\?|\$)(?&NameFragment))|@|(?<BackReference>[0-9])|C|D|E|F|G|H|I|J|K|L|M|N|O|(?<TypeModifier>(?<ModifierType>A|B|P|Q|R|S|\$\$Q|\$\$R|\$\$C|\?)(?<ManagedProperty>\$A|\$B)*(?<CVClassModifier>[EFGHI]*_?[ABJCGKDHL67MNOPQUYRVZSW0TX1892345])?(?<ArrayProperty>Y[0-9@]+)*(?&DataTypeCode))|(?<ComplexType>(?:T|U|V)(?&Qualification))|W[0-7](?&Qualification)|X|Y|_0(?&CVClassModifier)(?&DataTypeCode))))(?<ArgumentList>(?&DataTypeCode)*(@|X|Z)?))|2(?&DataTypeCode))|(?<UnqualifiedTypeCode>Y(?&FunctionTypeCode)|3(?&DataTypeCode)))(?<StorageClass>[ABCZ]))";
}