<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/76481>76481</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
ICE in mangleFunctionEncoding for polymorphic lambda in constraint of polymorphic lambda
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ecatmur
</td>
</tr>
</table>
<pre>
Since 17.0.1,
```c++
void f() { [](auto) requires ([](auto){}(0), true) {}(0); }
```
```
clang++: /root/llvm-project/clang/include/clang/AST/Type.h:752: const clang::ExtQualsTypeCommonBase* clang::QualType::getCommonPtr() const: Assertion `!isNull() && "Cannot retrieve a NULL type pointer"' failed.
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: /opt/compiler-explorer/clang-assertions-17.0.1/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-13.2.0 -fcolor-diagnostics -fno-crash-diagnostics -std=c++20 <source>
1. <source>:1:43: current parser token ')'
2. <source>:1:10: parsing function body 'f'
3. <source>:1:10: in compound statement ('{}')
4. <source>:1:12: lambda expression parsing
#0 0x00000000036e7558 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x36e7558)
#1 0x00000000036e53dc llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x36e53dc)
#2 0x0000000003632918 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007fcd02642520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007fcd026969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#5 0x00007fcd02642476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x00007fcd026287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x00007fcd0262871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
#8 0x00007fcd02639e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#9 0x00000000068ac645 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x68ac645)
#10 0x00000000068ac8ba void llvm::function_ref<void ()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)::'lambda1'()>(long) SemaTemplateDeduction.cpp:0:0
#11 0x0000000005f3c081 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5f3c081)
#12 0x00000000068b62f2 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x68b62f2)
#13 0x00000000066ccf41 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (.constprop.0) SemaOverload.cpp:0:0
#14 0x00000000066cd393 clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x66cd393)
#15 0x00000000066e7d3b clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x66e7d3b)
#16 0x000000000638eed8 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x638eed8)
#17 0x0000000006390d3c clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x6390d3c)
#18 0x0000000005e585c0 clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e585c0)
#19 0x0000000005e50751 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e50751)
#20 0x0000000005e5389a clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e5389a)
#21 0x0000000005e53a39 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e53a39)
#22 0x0000000005e57bc9 clang::Parser::ParseExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e57bc9)
#23 0x0000000005e5bd2d clang::Parser::ParseParenExpression(clang::Parser::ParenParseOption&, bool, bool, clang::OpaquePtr<clang::QualType>&, clang::SourceLocation&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e5bd2d)
#24 0x0000000005e51aab clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e51aab)
#25 0x0000000005e5e996 clang::Parser::ParseConstraintLogicalAndExpression(bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e5e996)
#26 0x0000000005e6039d clang::Parser::ParseConstraintLogicalOrExpression(bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e6039d)
#27 0x0000000005e35e07 clang::Parser::ParseTrailingRequiresClause(clang::Declarator&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e35e07)
#28 0x0000000005e72027 clang::Parser::ParseLambdaExpressionAfterIntroducer(clang::LambdaIntroducer&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e72027)
#29 0x0000000005e740db clang::Parser::ParseLambdaExpression() (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e740db)
#30 0x0000000005e51eba clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e51eba)
#31 0x0000000005e5389a clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e5389a)
#32 0x0000000005e53a39 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e53a39)
#33 0x0000000005e57bc9 clang::Parser::ParseExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e57bc9)
#34 0x0000000005ed35d9 clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5ed35d9)
#35 0x0000000005ec9c83 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5ec9c83)
#36 0x0000000005ecab51 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5ecab51)
#37 0x0000000005ecbaa9 clang::Parser::ParseCompoundStatementBody(bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5ecbaa9)
#38 0x0000000005ecd37a clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5ecd37a)
#39 0x0000000005dfbe81 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5dfbe81)
#40 0x0000000005e22648 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5e22648)
#41 0x0000000005defc4a clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5defc4a)
#42 0x0000000005df04df clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (.part.0) Parser.cpp:0:0
#43 0x0000000005df6b51 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5df6b51)
#44 0x0000000005df7452 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5df7452)
#45 0x0000000005df78a0 clang::Parser::ParseFirstTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5df78a0)
#46 0x0000000005deb732 clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5deb732)
#47 0x0000000004939258 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x4939258)
#48 0x00000000041a1c09 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x41a1c09)
#49 0x00000000041278ce clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x41278ce)
#50 0x0000000004281de6 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x4281de6)
#51 0x0000000000bc67eb cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0xbc67eb)
#52 0x0000000000bbefaa ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#53 0x0000000003f83419 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#54 0x0000000003632dc4 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x3632dc4)
#55 0x0000000003f83a0f clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#56 0x0000000003f4b275 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x3f4b275)
#57 0x0000000003f4bcdd clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x3f4bcdd)
#58 0x0000000003f5385d clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x3f5385d)
#59 0x0000000000bc4a87 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0xbc4a87)
#60 0x0000000000abef61 main (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0xabef61)
#61 0x00007fcd02629d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#62 0x00007fcd02629e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#63 0x0000000000bbea8e _start (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0xbbea8e)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
Compiler returned: 134
```
Oddly, trunk just segfaults without entering the crash handler.
gcc and MSVC are fine.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsXN9z46iW_muUF8ouCfTzIQ-Ok9zNbOYm2-m9e99SCJDDtAy6gDLOf78Fkh1DbKczG3X1ndmpnqpYgsN3vnM4fBbIWGu-EoydR9lFlF2e4d48SXXOCDbrXp3Vkr6cP3BBGEiKeTxPIriM4ssoXkR5PPwjEbyw_9zVZ8kpaCJYRrACUXEBBrMRLHFvpL2o2L96rpgGtlFwMyouosJ-ju0HuARG9Wy0tHcDXQD7yYdx8CNpsViN-NACRPBaSWkieN22z-tZp-RvjNiPY7trLkjbU7Z3ZfHwNYLXX186Nn-K0KLIoDVEpNAGDG3QIkKLq435rx632jZcyvVaigusWQQX-41sC9tg-LRiZmh5b9RImDNr7S-0ZspwKYB1BSZc_71v2y2tMI9gDiIIl1gIaYBiRnH2zAAGf__v21tgXjoGOsmFYSqCMIIFaDBvGZ0PrNzfXi0eroDu6zU3AIO6XwHFOqkMMBI8GdNpCxFeR_B6xc1TX8-JXI-svSWPa90zHcFrgAUFI4XAPDFAFNZPoMbkm1GYMBvRTrFOScK0ZhRo2avhsu2JtZaEY8MoUL0AmijemRHyg8HkG6D9urPI3KV4HsXVvZIrhdcAq1W_ZsLoMcyyc2GV6463TM3YpmulsmwMgZ3hLcF6ts3r65qL18DblAGzFf0dq2aWgtkKzKQ1jLvOmu9N15u5BrO1JQPMZpsyn2G9nukXYfAmQpeW_RbMHsBstiJkZqRsyRPmIkKXJ_HZxgmaw3kMZg2RrVQzyvFKSG040WDWCDlzvPqXtaERuhznIoxBhJYju-hq4CuxfHmX0SKJ0CJFLqN7pZgwoMNKMwWM_MYEiGDhJmIxWIBHLCSxtWB7crECTS-IS11bO6yJZmcAnTTABbCEyF5QoA02zAbUlQlYbAuAw-NspcdsuQna4nVNMWCbTjGtLZoR3tAZRBDFIN7E2_9QzoosK4HLcDc99Yse_rhXXBiXf1-HJC5fGyn8-6PURjG8drNyCbgwwxwtPysLI3gRb0Z8O--tA0ngQIYoOeTAsmVY9N2deOArgW0V6YUr-hS00o4yCVyLxoMLfbgIVkkJljaTvzAin5l6GfD9Bxa0taOWI5dem6UUhm3MnHS2EsTu_90QaByiaAiNYZ7CzM4E51vL6wheb8r8MU9nLRf9ZrYS_XCDzLWc5w646-LBTn2bVV41BHTmSTFMH7_xtv3YAK6_N0AWgk6LHKy04-Kj4NMi92znvm1YFg0CuLaV_kOWXUfPcvHGclJ_2GZSezZL3yaqWJV_zKbr4tms9rMuLzHJ02x_TX5gazz8dc0F109f2bprsWGLcUG5ZLR35SyC5V6367HIbZtfMtJGcGErwOsMfFjjtv0HI0aqm3XXRmi5Z8EZZjQczxayoZLsJqmbBktwYPTdqHnQQO-8egU4-nEjGjl2-E6krxTdKb7iArdL3LYLtYrQ1ShZBs9rKVvf7nYteFSsidDSNhgCWjk_P7_wjBHepYAtk3GYAmWNgROqR4G6u69AXROC29ZKmcdGHONniGkYUv3dqbPXKjRyy7UZQhck2UIp_PLFofb0aKdsU8vyFKmzDfV3h_w9wK_a-GqXHcOdCBbDap645X-XPOV28bL8v8H6doGwqeAtmVmDSFwmh6uB6sX_cPP00DcNJ5yNCuChGxTAfhenP24lwUOVOMFFkFUTpP_okpf-0E__OocNPOzz_6fvp6bvBMXNBc-LLvKimxPSpEcyekHpr8w8yd2Ss8SCcooN-yMBtlcXxH6Pu8dcBTeX__yn1WuK_qHkOESrf9mlx6htsda84Ydm3wdT6-6ZqVZiuqPlgZkj6XKq1z1WeH2nqI2wS4G5WyI7Jbt5vC1X216Hq1QaxJSiCr0T0yOxPBmln4zcD5H6ufNqoNibV5kfA1ZQVB-OwUXPW2oV0Vd5V__GiLlrHHEDtd5SQaS9FCb5ljT_6ql15dfe4LplH4xBaHEKIh1PHpG5RyQqGaPlO0QOHvzEzB0D4deJCfgd6PP4LXx-q5gicqRYEHMn_o35nYJPR5fHZ-lJRJaVGYn34dy7B2R7f99LbRq-udo9anKaceMTvHBL6hem-9YcJmX7tHsiYTg44nlaBZ7GRZac9HSJtXl103dwv7Ft5z7_Jxf07bwIJdt-V_f8HGurtg1723WSLBhd3-cGxgE3qKzwtNz8XIRYfz1CkpAQjKqThCzcxpKVd99DS-DmND5hVHk-wcCnoianffpZPLFAPU9Q4ElNIT1dtLBi4nvccQ3dhbtuKM7vKuIO_6tn90ad-IYUloBwAcgnIs7y4hGXBsQlGNd_0RpoXfe4yQJuWFXlp7mxX3QU5sLcyhUnuF0I6nE1lS4awXnocx99HqPq9JR4g_5O_SDwDpsHvvDBo4zFxUnwXxXmLRerL-Pu-rLFvT7wZRArbKSabII5oJ4ngZwqYAxPe3LrnvW9Mr9oDFM3wihJe8IC3To03r87kWMOt-dYoJ6KNKanK0fo2G43_9OxWij7WFGoZhJWT6xmft4qx2pP2KA3wuYvrvRQqIr-BEoPhfro31bpoUCwUJTR9z152J6mOKnzNKMPZm3GHfZpHHJ4PYcClUEqUqKTDu2cuVPbFW27TCyMUbzuDdPeI_u93c1g586st3uXCPYHlek7HJ1UseGDk6H_PsiDo4UtpoiDo9mLQ6CXCK7feRpwOA4_C_GTkGY58UgLdBqpMT49G5fjAacdeReSvkwqLh0mD3QgyQhFxekVb7sjFIIOtOWRhPdyZnjOOFVSW088V32RRpualaeT-nV_seGCvz33cT-cIguk9DuJu93vuhGN3B6YONXrdtjxGCvBLR8PWExA2cDIPmVpoBUhzNPypHuWi78p2XdHmXroGHnr8SuHhyf1-9Xyu-rtCPVaqi9YrNiN4JOxOZDlsemrS8oakp6ea5aVO7WXhjfCMDUc2_u_LyVvWpyM0LBzaO_xhk-z9TZS4nEGg0kbp7R5l7Nx-fGoOzqDP525MPMOMzfvsDLDJvDgw8Ht3xQF_ufvrcRXmyFF_GX4B_g8SUXKg0U2TQM-ijSDpx-GyO6WPbN2WJTK959N7kqY27I69Hxyt4n2q6R9y27WnVRb4T_Najb46RGRhUSU-PTW1DVX2vxZ2Cixt32V5kFprQv0Ni3c6xtliP3QM-xJapvF5IH2BGNaoQpm3uq6lJT9jYlhu3C4dLVhpDdssT2FOgXUEYkH1ZOJaYITEnva9lrZZVvQA1inQjmA8FBWPkpYlIT5hA7j3ghtsCDsMKfH3Zomn0eg-55knvBKYZlQlvv74A7zq0PPO-FTnnJ4mkI9AvQ88MROXJO8YDUgJHlcYy6OHqJ7wur1FPF4NMC7BpfutO5EjgwwPT-g70fNGozBlv5l8tXVi8Nfc7enp984FRy4tjZG2bv3jaACVPHnI7og83QBakqUJtVnnmMexh6zaJks5XqNBQ0n9sEgureP7DXpNgmx5WCPH6Pc1oRbTYYI7zo8PpLNJkmGDzXWnDxq13xk0WtsLzwahbnR29uBOdy2dlYMzxvG-7bJIniQun3TLto7X3zkePEvsj4cjzR8oYWSdC8Uh15bGe586cUDblj74tH5ww8Lj5C91M_CHMOxp73_cjkS6PajyZD7xKU1LLKjxLng4TfL5pZNr54HHW2DY88QTjRdeJpnz7fPzajBby-jipAYQulHiflF1vo4K7_I-pZr47FyqjjvEqHD3ObA2_drThI5ZssPopNQb2c4K306M1RmR-m83PvbUw8HZMOxMPxAOieocAM_HoFVIFJSXI4b0luZsnXAVZbFmzcWji3dny9MLLR97LknEWNcsyZPgEX96YMPtr3Bk-CNv4pWH3y50nXxbMLQJktj8Phouz1qg5V53PPuu0dhqT8KCvUcLhkY7H9-1Jz13fD7t9ECMKXssjP-KgBoxu8agIyzYnhNH_zOzRNgG24TjDKQoNTi7DUDs2dgJNCMAb6n_8fBttIfKGZ6JZidl7bzwZ9GuKPUChB36lR8A7_12gDNVg3uW6MdAtkbwIRhdqXde53_aXg_d3wxf0WIe3n_14d_LAFWDDRcsPkZPUe0QhU-Y-dJEaMCFlUWnz2dVzDNkyKnrKakbkqUZQVN05JShBhqEnzGz2EMUQJhGSdplsXzClYxzKqkLOuE2MUljdka83ZuZ-RcqtWZ-_2B8yJPy-SsxTVrtfsxCwgF-x24mxGEUXZ5ps7dLxfU_UpHadxybfSrFcNNy85vlleAC7DGYtXuNgOuBJHUvdouFehk-7KWqnviZPuWuXtxfXt4CMjmQJuzXrXnf_yXFZxz_xsAAP__AfyRHQ">