<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/155281>155281</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang/TemplateInstantiator] crash (segfault) in TransformTemplateName
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
kedartal
</td>
</tr>
</table>
<pre>
segfault compiling (`-fsyntax-only`) [this source](https://github.com/stan-dev/math/blob/develop/stan/math/prim/fun/vector_seq_view.hpp)
(similar to https://github.com/llvm/llvm-project/issues/155260)
Again no backtrace file created, but can be reproduced from [vector_seq_view-35fab3.zip](https://github.com/user-attachments/files/21975657/vector_seq_view-35fab3.zip)
```
/Users/tal/local/llvm/latest/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.5.sdk -I./external/stan.git/lib/stan_math -I./external/stan.git/lib/stan_math/lib/eigen_3.4.0 -I ./external/stan.git/lib/stan_math/lib/boost_1.84.0 -fsyntax-only ./external/stan.git/lib/stan_math/stan/math/prim/fun/vector_seq_view.hpp
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /Users/tal/local/llvm/latest/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.5.sdk -I./external/stan.git/lib/stan_math -I./external/stan.git/lib/stan_math/lib/eigen_3.4.0 -I ./external/stan.git/lib/stan_math/lib/boost_1.84.0 -fsyntax-only ./external/stan.git/lib/stan_math/stan/math/prim/fun/vector_seq_view.hpp
1. ./external/stan.git/lib/stan_math/stan/math/prim/fun/vector_seq_view.hpp:75:69: current parser token '{'
2. ./external/stan.git/lib/stan_math/stan/math/prim/fun/vector_seq_view.hpp:8:1: parsing namespace 'stan'
#0 0x0000000106a0be0c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x101aa7e0c)
#1 0x0000000106a093bc llvm::sys::RunSignalHandlers() (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x101aa53bc)
#2 0x0000000106a0b304 llvm::sys::CleanupOnSignal(unsigned long) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x101aa7304)
#3 0x000000010694e12c CrashRecoverySignalHandler(int) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1019ea12c)
#4 0x000000018ffc56a4 (/usr/lib/system/libsystem_platform.dylib+0x1804ad6a4)
#5 0x0000000108b8f128 (anonymous namespace)::TemplateInstantiator::TransformTemplateName(clang::NestedNameSpecifierLoc&, clang::SourceLocation, clang::TemplateName, clang::SourceLocation, clang::QualType, clang::NamedDecl*, bool) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c2b128)
#6 0x0000000108b8f128 (anonymous namespace)::TemplateInstantiator::TransformTemplateName(clang::NestedNameSpecifierLoc&, clang::SourceLocation, clang::TemplateName, clang::SourceLocation, clang::QualType, clang::NamedDecl*, bool) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c2b128)
#7 0x0000000108b8ef88 (anonymous namespace)::TemplateInstantiator::TransformTemplateName(clang::NestedNameSpecifierLoc&, clang::SourceLocation, clang::TemplateName, clang::SourceLocation, clang::QualType, clang::NamedDecl*, bool) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c2af88)
#8 0x0000000108b8bec0 (anonymous namespace)::TemplateInstantiator::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c27ec0)
#9 0x0000000108baf53c (anonymous namespace)::TemplateInstantiator::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c4b53c)
#10 0x0000000108b83230 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c1f230)
#11 0x0000000108baf0c8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformSubstTemplateTypeParmType(clang::TypeLocBuilder&, clang::SubstTemplateTypeParmTypeLoc) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c4b0c8)
#12 0x0000000108b8e094 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformNestedNameSpecifierLoc(clang::NestedNameSpecifierLoc, clang::QualType, clang::NamedDecl*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c2a094)
#13 0x0000000108b9dd7c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*, bool, clang::TypeSourceInfo**) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c39d7c)
#14 0x0000000108b91bfc (anonymous namespace)::TemplateInstantiator::TransformSubstNonTypeTemplateParmExpr(clang::SubstNonTypeTemplateParmExpr*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c2dbfc)
#15 0x0000000108b8bb64 (anonymous namespace)::TemplateInstantiator::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c27b64)
#16 0x0000000108baf53c (anonymous namespace)::TemplateInstantiator::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c4b53c)
#17 0x0000000108b8e094 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformNestedNameSpecifierLoc(clang::NestedNameSpecifierLoc, clang::QualType, clang::NamedDecl*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c2a094)
#18 0x0000000108ba8c44 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&, clang::DependentNameTypeLoc, bool, clang::QualType, clang::NamedDecl*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c44c44)
#19 0x0000000108b83230 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c1f230)
#20 0x0000000108b8baec (anonymous namespace)::TemplateInstantiator::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c27aec)
#21 0x0000000108b8c100 bool clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArguments<clang::TemplateArgumentLoc const*>(clang::TemplateArgumentLoc const*, clang::TemplateArgumentLoc const*, clang::TemplateArgumentListInfo&, bool) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103c28100)
#22 0x0000000108b43540 FinishTemplateArgumentDeduction(clang::Sema&, clang::NamedDecl*, clang::TemplateParameterList*, clang::TemplateDecl*, bool, llvm::ArrayRef<clang::TemplateArgumentLoc>, llvm::ArrayRef<clang::TemplateArgument>, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, clang::sema::TemplateDeductionInfo&, bool) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103bdf540)
#23 0x0000000108b45cd4 FinishTemplateArgumentDeduction(clang::Sema&, clang::NamedDecl*, clang::TemplateParameterList*, clang::TemplateDecl*, bool, llvm::ArrayRef<clang::TemplateArgument>, llvm::ArrayRef<clang::TemplateArgument>, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, clang::sema::TemplateDeductionInfo&, bool) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103be1cd4)
#24 0x0000000108b457fc bool isAtLeastAsSpecializedAs<clang::ClassTemplatePartialSpecializationDecl>(clang::Sema&, clang::QualType, clang::QualType, clang::ClassTemplatePartialSpecializationDecl*, clang::TemplateDecl*, clang::sema::TemplateDeductionInfo&) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103be17fc)
#25 0x0000000108b0d240 clang::Sema::isMoreSpecializedThanPrimary(clang::ClassTemplatePartialSpecializationDecl*, clang::sema::TemplateDeductionInfo&) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103ba9240)
#26 0x0000000108a80b54 clang::Sema::CheckTemplatePartialSpecialization(clang::ClassTemplatePartialSpecializationDecl*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103b1cb54)
#27 0x0000000108a90708 clang::Sema::ActOnClassTemplateSpecialization(clang::Scope*, unsigned int, clang::TagUseKind, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::TemplateIdAnnotation&, clang::ParsedAttributesView const&, llvm::MutableArrayRef<clang::TemplateParameterList*>, clang::SkipBodyInfo*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103b2c708)
#28 0x000000010833aa60 clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::ParsedAttributes&) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1033d6a60)
#29 0x0000000108315b24 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1033b1b24)
#30 0x00000001083d9bec clang::Parser::ParseDeclarationAfterTemplate(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103475bec)
#31 0x00000001083d8c90 clang::Parser::ParseTemplateDeclarationOrSpecialization(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103474c90)
#32 0x00000001083d84ec clang::Parser::ParseDeclarationStartingWithTemplate(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1034744ec)
#33 0x000000010830f4ac clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1033ab4ac)
#34 0x00000001083ea540 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103486540)
#35 0x0000000108331b54 clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1033cdb54)
#36 0x0000000108331200 clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1033cd200)
#37 0x000000010830f6fc clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1033ab6fc)
#38 0x00000001083ea540 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103486540)
#39 0x00000001083e8f40 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x103484f40)
#40 0x00000001082f62a0 clang::ParseAST(clang::Sema&, bool, bool) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1033922a0)
#41 0x000000010767c238 clang::FrontendAction::Execute() (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x102718238)
#42 0x00000001075f546c clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x10269146c)
#43 0x00000001076ff1cc clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x10279b1cc)
#44 0x0000000104f6a458 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x100006458)
#45 0x0000000104f67f00 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x100003f00)
#46 0x000000010742a068 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const::$_0>(long) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1024c6068)
#47 0x000000010694de2c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1019e9e2c)
#48 0x0000000107429a9c clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1024c5a9c)
#49 0x00000001073eba18 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x102487a18)
#50 0x000000010740823c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x1024a423c)
#51 0x0000000104f66b8c clang_main(int, char**, llvm::ToolContext const&) (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x100002b8c)
#52 0x0000000104f75398 main (/Users/tal/local/llvm/20250825.140242/bin/clang-22+0x100011398)
#53 0x000000018fbeab98
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 22.0.0git (https://github.com/llvm/llvm-project.git 9801a0f62e49cbd81ce8352ab140af7c240e51ba)
Target: arm64-apple-darwin24.6.0
Thread model: posix
InstalledDir: /Users/tal/local/llvm/20250825.140242/bin
clang++: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /var/folders/20/qtz798xj7pv9k3tfl9_w20mm0000gn/T/vector_seq_view-35fab3.hh
clang++: note: diagnostic msg: /var/folders/20/qtz798xj7pv9k3tfl9_w20mm0000gn/T/vector_seq_view-35fab3.sh
clang++: note: diagnostic msg: Crash backtrace is located in
clang++: note: diagnostic msg: /Users/tal/Library/Logs/DiagnosticReports/clang-22_<YYYY-MM-DD-HHMMSS>_<hostname>.crash
clang++: note: diagnostic msg: (choose the .crash file that corresponds to your crash)
clang++: note: diagnostic msg:
********************
```
@mizvekov probably also related to https://github.com/llvm/llvm-project/pull/147835 ?
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsfNtypDi29tPgG4UzhMTxwhc47exyjKvsv9I9033lEEJkagyIloTL7qf_Q4J0AnmwXY2r995dExXjbJDEWt_61kFCiCjFVxVjZ45_7vgXJ6TRayHPHlhGpCbFSSqy5zPFVjlpCg2oKGte8GoFHBQ5ATzN1XOlydOpqIpnJ4AOioHjn-s1V0CJRlLm-BcOitZa18rBiYMWDlqsuF436YyK0kELpUl1mrFHBy1KotcOWqSFSB20yNgjK0TdNdneriU3_fLGXHtkVAt5r9gf94-cfZut69pBsQMTB0WKl7wgEmgBjjy_KB43f05rKf7LqHbQgivVMOWghev7yOplxoRJsiK8ApUAKaEPWhLKQM4LBqhkRLPMQXOQNhpQUoGUAclqKbKGsgzkUpQGmpHAp9jPSYpnf_L6VaQaxeQp0ZrQdckqbaQzzzZ_kRuHfuCHu4j0H7BRwhiq_WdwWvyqmDSDaFIYIARt_3a4EM2UQSTlBm9akGrloHMHnYNTrp6VFEIDBy2Sui44JZqLyoz1GxUZmxFjjcVcVLqT96K1KZMOWtwWROdClub6Z0Jvlr_N6u7SqOXy4l_bRq4_82cqewCnVzMHLdiTZrKyEhuazFbcCFvwtLtwb1jznrYvVxhfseoez7wZBKdX4P0DpEIofe_OIjMCGLjKu0Z7J_1hcnt9mSwvgWrSkmtAQNqsDBWF1H_NFwCpMsArWjQZA3ptWE_UeusKhv215TxlSrFsEwLQ3PYkSgnKjZsA2VRAUclrPXNgstSEPoCsKWsjFkzgzIHxrRQrSUpA5Kpp6Y4T8JOtP4atP5CsrjH2Bz4BJ6Hv4CSIDX9oIyWrNKiJVMxkhgdWAQeFTnhu_h8m6MOliRycuEYWI4PJpBUpmapNJnFQ2A5nJAEOwhDAJ9j-z4UBgSmDFFiq48TBiXpW7Y9bySttveiu9cNo20iSb_dCaclI6aDA-CKvtM3TKHrNnRBEPoyQP3M9iDw09KtThBx0Dp9c6BISMkjb_GLkdkdyxzjdK_fXplryVUWKT6TKCitINLloPk57oqExpBh6-0SbF4xUTX3TCeigqKlspZSBQpigMjWAGHpbKfFAythjLqJgbqLtV0bFI5PPA9wcFE1v1JgRF_WQ83oyRXlO_YB43fMaJbfO8aw0K9v_bH_fbwLlLHu2bcz4EfRIFpCezn5f5yiNchdFZnxSieq5FI3aeorpZK10x0ozOLuqjONoTrSQ3R1JKmUeumnyhZTGMdqUYJt8YUqzzFxf1ozynDN5LWjnJL12S5vFrkWbL0Y3h8O_vd__a0hx91yP-5hhsgtGCwcltpgUopjWrpii1LVu1uEe_MT9b8E9HOHO8ugn7h-CO8mjHu7RCPeUUTgh7klXrw6xH9-9FhRQUZladQz_nqZdow8BJ2QUbsGJh-CQ3Md0QnAs8UjB_7QUafkwgOm5NgQ6b3iRmbR2CJvdcSxK00LjpT6mm9UE7MIRb7Cpz_qyScZeFHbw_LtQuxwDtxei1tOuqlxYt5lWbTdHGG7VdseMgDT6cLWXTar0pqnR-JYcwuIYXQ4O8yFsgTTawobG0R3G3ofDdijCvyULvD9aTx2lYext8cND_OIsC-mH43fBalZlrNJLKmpmFP3K8sunWg4hPNKsl8SGgWvXaydHEMdZ2ItX3ghBN82nCOXWp760QXfT3LjVLkzHW05PoCzNe-qPpxNpGnj_5DSfBj3vCn6m-UNpfqcs_xm43xW4R-U1iaj38fi9RGSj6Pv5ttO9A3ZPIP8bAPY86vUAjv-RdSgal98pYVOGrP918ZywbdBCoyI9oi6E9rkfT4yR2srB87cBmJjB3op28jrab27KlW4p-3HWiVzYo-5oLuBh34NgwSuu1mPhLljW0Hb5ZFBKsZLsUm68eLJH6VsiSck0k0brw812VmDmvTXxREry_JXlr1rWGvT9PXe6LUtSFP-2b0-uyroY9rYIsWzvIGOAlIFtpGiH78cyIM1y3-sxYDSb8Xyaef_nGPDT_C_mZy7NtikbeWPzhzltwzNXib5mROlEvRS7LEtGUXReEKV6BtWcFMPa2JpvHE_3c-ZABXPg8hsf_RZevdMyU1sk7M0O0Wh2CDPkDYqo5YuAXH0WkvWMc7cm1a3kJZHPQ7i_F6ofDwaJUT86DWeDJIKp7-0HY75m9OGoit8NybQaujT1ew44nNSRGIYw2q9hQvVNNRD7mH52Aaiz6Mv7YfsqdugMZPWrYv_iVfaeVyZHb85_-80-3Eh3uBi9ypKqErobYNzqlkjFskRrydNGM_Vvzr4NytttTP7caJIW7HhE30k1bWTvq_TA63ORPX_MlCFFNITbNVg0nIpiTEgAd_SXvd_W7i-z66GptXjotBUPrHqvLQ3N95tqR4hsW3i_5Khe-4RSNhBy7zS1P-rm2XZn09OYm2MSTB9ucBaQoBduhhNY7Pop8o4iYhQg0sL6orcaL8l-IL7fj2vX8rp1jg7n_YWYKXU45drkYDMZexl1Wlukboq2gXG4wyjCWZwy-lZbJLlmcgPmrjlMKyFfB-ctRrlt90rZpfbk6uombbcmvvbm-rWA9wbrT4q-F_ppb9o-3CcV4Syi8fEA1a-qOivcyGMJ6jVD_M9HzKPxNnYMt28ZxLy383WpTQFSrf7D9fr7aPtdaE2Nh9dn0HBiiWHukTfj8aOZ8nqL8TOmLhAwST3SQ284L8OM-N5x_7vsdoUeRHEKFHrBrk1pU8PgRUF_dWK08w5jd1T_78BwVVVMftmuGEZ7J-_DIrE_yLB_G_LnwGscfDmoP4-U1H-djuekIBVl2QUreMlNKpOEPnSvB6alHc36s5HRjjuMXQSP064P9YQuO74_tdKotwg62u6GYR7kPyPVsUgV9NYrRpvW_rGRajR1YFH-Cgx3or5mj6xolxn6-t_U5I-G3Wo5Xl-kxS9SNLWd5e5ZVNwuFXwWWVOwq7IWUi-1LSYmT_eRl_f094blOsoDRHb1T5Z3B9cBN1PFD1j0xDFCpCfroLgNg5AiPFhzWUj7pU2WtKvd9trlE6ONrcqmFQ6FboTwdmnAG9SRoZ_7XjCIRnP7oSOT7csvygbiJXvW50faTM0EFMSuF2wDgoeH6Oa5SwcKdKJu9Xh8iVXRMT2ndmEUxqlLe4IPai4vD4jnR4BS974kpn-0__XBmsjhe8M5GF5Dc_AoeDa5_BDCwPN7zPFH8oc5hGCD9ty9s461vyDavM3YUWa02GbG6FJbrxyaWCuc97KzNyhJQg8RGEQW0J5YeVNZct9LaxN7t_XUl9fClBRFSujDfV4Nw2om-eMmMM_n7lyUJamysdPvtb3SXbv7e7f9IWojBjFY9nDWklerLmq3DNntmRLF6b2yTTtL7G9o7txrSXj7Qtu0OzQmKYwNunq3a2ja9t6lWU62lrRdHOTdw_Z1zfQfEyGPBjDoMTYcfUyUMdT_GmvwWdGmorJ3vjbVkuSseB6Y5jgNpv4GKWaoFzyiEU1jEg-i3k-atTSblk4-iXs2GNRgIWYpcaODNrDphewk-I1hBrlo1NE0OLTZ5kjTZPRad3o8opC4W_fy4ZCTMEL4ICcver8HGXpPaj6E4zhb7CaYXfLUhBve7E6jjwLZMWzqUsYjHurtuPTdUUYN0qgDcFMTbOS2fpR0nP_B-RKlUU9mNJQ59HEcASPtpA91XRz3mIYHX2CmjKRx5MCkNaf9yt3BCWBS2l1uLYQg7wpTQDvz5oQXLAPfuF4D9sQNZBkDLrZ4NYqB00egBVCMAd6rGuPNk8Ajk4qLCiA0gzO44ta73neqwMz0iiPoEpgHiHkxTbPIpSzCPiKp60GShxR5kPluStpn3xG5YiYxASLLwDsldV2w04zIb7xC3iyYQdNoLRnJQCkyVthvrIXiTw5MbHlbFCy74PIt5wjst9AO1JXQZmYAMk5WlVCaU1CqlX0ATDZM_a5_9pyO7hyH5O4umX8Cd58uweLm-vrmP1dffgGLq-vLJbi7sZfPf_0FfL28vfl659gDFG73HcIQKeMTBw9ieGkgGbCZhmWA6Ha8t6uNFo_GRxe5KLIWXwQdtPhD_xnG0dN_w_oxfsA6L-L7bwiWpaHyylD_7vDJJev13y2BepcE8-GhGICrFzzfyaExSa95Ku2uk8W1WNkDKl76fLXHe6heELl38Pz333___fTz59OLi9NPnz5_Xi4dfGmur4XSFSmZgy9n9gyP94kV0bUQqj0CpO3fHoKj18REEymZqkWVKRNGnkUj23NCeiHkrR70152of9INTBwPlvzPR_YgHkEtRUrS4hmQQgkgWWEt9D3no9RNYazjemGEfeDgxUl2hrMYx-SEnbmhH7g-9EL_ZH2WRzHKY5ZmKQkDL4UuDVI_h2EWucx3aXzCzzaRx42xh_2ZzwLsE4qhmwUeTj3Hg6wkvJgZGWZCrk7s6Sxnru-jyD0pSMoKZc9yQqiDGjn-xYk8s0KnzUo5Hiy40mo7hOa6sAdAdT0We7f--hfdeS8mUnQHQpmAwSuw9-Pjk0YWZ3_t4KXIPXk8Q_8_AAD___x4xaE">