<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64873>64873</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang 16 crashing - LLVM ERROR: out of memory (bug report)
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
alidavanian
</td>
</tr>
</table>
<pre>
Compiling the source code below using the following command results in the CLANG crash:
` clang-16 -std=c++17 -c -x c++ test.cpp -o test.bin -I.`
```
struct A {
int i;
constexpr A() : i(0) {}
};
struct B {
A a[ 305748893455492146];
};
extern const B b{};
```
Below is the standard output:
```
1. test.cu:13:19: current parser token ';'
#0 0x00005650724c4d64 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
#1 0x00005650724c2bcc llvm::sys::CleanupOnSignal(unsigned long) (/usr/local/bin/clang-16+0x2c30bcc)
#2 0x000056507240c6d8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007f4c944af520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007f4c94503a7c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x00007f4c94503a7c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#6 0x00007f4c94503a7c pthread_kill ./nptl/pthread_kill.c:89:10
#7 0x00007f4c944af476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007f4c944957f3 abort ./stdlib/abort.c:81:7
#9 0x00005650724135c4 (/usr/local/bin/clang-16+0x2b815c4)
#10 0x00005650724135eb (/usr/local/bin/clang-16+0x2b815eb)
#11 0x00007f4c9484ca23 operator new(unsigned long) (/lib/x86_64-linux-gnu/libstdc++.so.6+0xaea23)
#12 0x000056507709d634 clang::APValue::Arr::Arr(unsigned int, unsigned int) (/usr/local/bin/clang-16+0x780b634)
#13 0x00005650770a14d8 clang::APValue::MakeArray(unsigned int, unsigned int) (/usr/local/bin/clang-16+0x780f4d8)
#14 0x0000565077389356 clang::APValue::APValue(clang::APValue::UninitArray, unsigned int, unsigned int) (/usr/local/bin/clang-16+0x7af7356)
#15 0x00005650774a7f71 (anonymous namespace)::ArrayExprEvaluator::VisitInitListExpr(clang::InitListExpr const*, clang::QualType) ExprConstant.cpp:0:0
#16 0x00005650774daa5e clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ArrayExprEvaluator, bool>::Visit(clang::Stmt const*) ExprConstant.cpp:0:0
#17 0x00005650774a7922 EvaluateArray(clang::Expr const*, (anonymous namespace)::LValue const&, clang::APValue&, (anonymous namespace)::EvalInfo&) ExprConstant.cpp:0:0
#18 0x00005650774ba64e EvaluateInPlace(clang::APValue&, (anonymous namespace)::EvalInfo&, (anonymous namespace)::LValue const&, clang::Expr const*, bool) ExprConstant.cpp:0:0
#19 0x00005650774a422d (anonymous namespace)::RecordExprEvaluator::VisitInitListExpr(clang::InitListExpr const*) ExprConstant.cpp:0:0
#20 0x00005650774d41b5 clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::RecordExprEvaluator, bool>::Visit(clang::Stmt const*) ExprConstant.cpp:0:0
#21 0x00005650774a53cb EvaluateRecord(clang::Expr const*, (anonymous namespace)::LValue const&, clang::APValue&, (anonymous namespace)::EvalInfo&) ExprConstant.cpp:0:0
#22 0x00005650774ba683 EvaluateInPlace(clang::APValue&, (anonymous namespace)::EvalInfo&, (anonymous namespace)::LValue const&, clang::Expr const*, bool) ExprConstant.cpp:0:0
#23 0x00005650774bbed7 clang::Expr::EvaluateAsInitializer(clang::APValue&, clang::ASTContext const&, clang::VarDecl const*, llvm::SmallVectorImpl<std::pair<clang::SourceLocation, clang::PartialDiagnostic>>&, bool) const (/usr/local/bin/clang-16+0x7c29ed7)
#24 0x000056507736258d clang::VarDecl::evaluateValueImpl(llvm::SmallVectorImpl<std::pair<clang::SourceLocation, clang::PartialDiagnostic>>&, bool) const (/usr/local/bin/clang-16+0x7ad058d)
#25 0x00005650773628ef clang::VarDecl::checkForConstantInitialization(llvm::SmallVectorImpl<std::pair<clang::SourceLocation, clang::PartialDiagnostic>>&) const (/usr/local/bin/clang-16+0x7ad08ef)
#26 0x0000565075e8f128 clang::Sema::CheckCompleteVariableDeclaration(clang::VarDecl*) (/usr/local/bin/clang-16+0x65fd128)
#27 0x0000565075e8c941 clang::Sema::AddInitializerToDecl(clang::Decl*, clang::Expr*, bool) (/usr/local/bin/clang-16+0x65fa941)
#28 0x0000565075b1f060 clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/usr/local/bin/clang-16+0x628d060)
#29 0x0000565075b1d57c clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/local/bin/clang-16+0x628b57c)
#30 0x0000565075afb057 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/usr/local/bin/clang-16+0x6269057)
#31 0x0000565075afb16d clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/local/bin/clang-16+0x626916d)
#32 0x0000565075afa601 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/usr/local/bin/clang-16+0x6268601)
#33 0x0000565075af93f0 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/local/bin/clang-16+0x62673f0)
#34 0x0000565075aef5fe clang::ParseAST(clang::Sema&, bool, bool) (/usr/local/bin/clang-16+0x625d5fe)
#35 0x0000565073538d6d clang::ASTFrontendAction::ExecuteAction() (/usr/local/bin/clang-16+0x3ca6d6d)
#36 0x0000565073dd16bc clang::CodeGenAction::ExecuteAction() (/usr/local/bin/clang-16+0x453f6bc)
#37 0x000056507353862c clang::FrontendAction::Execute() (/usr/local/bin/clang-16+0x3ca662c)
#38 0x00005650734681fb clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/local/bin/clang-16+0x3bd61fb)
#39 0x00005650736e6921 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/local/bin/clang-16+0x3e54921)
#40 0x0000565071092536 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/local/bin/clang-16+0x1800536)
#41 0x00005650710849d0 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#42 0x0000565073317a91 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()::operator()() const Job.cpp:0:0
#43 0x0000565073319487 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#44 0x000056507240ce47 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/local/bin/clang-16+0x2b7ae47)
#45 0x0000565073317caf clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/usr/local/bin/clang-16+0x3a85caf)
#46 0x00005650732afe14 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/local/bin/clang-16+0x3a1de14)
#47 0x00005650732b01a2 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/local/bin/clang-16+0x3a1e1a2)
#48 0x00005650732c545b clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/local/bin/clang-16+0x3a3345b)
#49 0x0000565071086324 clang_main(int, char**) (/usr/local/bin/clang-16+0x17f4324)
#50 0x00005650710af477 main (/usr/local/bin/clang-16+0x181d477)
#51 0x00007f4c94496d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#52 0x00007f4c94496e40 call_init ./csu/../csu/libc-start.c:128:20
#53 0x00007f4c94496e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#54 0x0000565071080d3e _start (/usr/local/bin/clang-16+0x17eed3e)
clang-16: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 16.0.0 (https://github.com/llvm/llvm-project.git 19ce5e515fc5059fad8ec9aee1389ac9d109b647)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
clang-16: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-16: note: diagnostic msg: /tmp/test-c24f69.cpp
clang-16: note: diagnostic msg: /tmp/test-c24f69.sh
clang-16: note: diagnostic msg:
********************
```
The sources and run script(s):
test-c24f69.sh:
```
# Crash reproducer for Ubuntu clang version 14.0.0-1ubuntu1
# Driver args: "--driver-mode=g++" "-std=c++17" "-c" "-x" "c++" "test.cu" "-o" "test.bin" "-I" "."
# Original command: "/usr/lib/llvm-14/bin/clang" "-cc1" "-triple" "x86_64-pc-linux-gnu" "-emit-obj" "-mrelax-all" "--mrelax-relocations" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "test.cu" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-mframe-pointer=all" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "x86-64" "-tune-cpu" "generic" "-mllvm" "-treat-scalable-fixed-error-as-warning" "-debugger-tuning=gdb" "-fcoverage-compilation-dir=." "-resource-dir" "/usr/lib/llvm-14/lib/clang/14.0.0" "-I" "." "-internal-isystem" "/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11" "-internal-isystem" "/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11" "-internal-isystem" "/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward" "-internal-isystem" "/usr/lib/llvm-14/lib/clang/14.0.0/include" "-internal-isystem" "/usr/local/include" "-internal-isystem" "/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include" "-internal-externc-isystem" "/usr/include/x86_64-linux-gnu" "-internal-externc-isystem" "/include" "-internal-externc-isystem" "/usr/include" "-std=c++17" "-fdeprecated-macro" "-fdebug-compilation-dir=." "-ferror-limit" "19" "-fgnuc-version=4.2.1" "-fcxx-exceptions" "-fexceptions" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "test.bin" "-x" "c++" "test.cu"
"/usr/lib/llvm-14/bin/clang" "-cc1" "-triple" "x86_64-pc-linux-gnu" "-emit-obj" "-mrelax-all" "--mrelax-relocations" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "test.cu" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-mframe-pointer=all" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "x86-64" "-tune-cpu" "generic" "-mllvm" "-treat-scalable-fixed-error-as-warning" "-debugger-tuning=gdb" "-fcoverage-compilation-dir=." "-std=c++17" "-fdeprecated-macro" "-fdebug-compilation-dir=." "-ferror-limit" "19" "-fgnuc-version=4.2.1" "-fcxx-exceptions" "-fexceptions" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-x" "c++" "test-8422b5.cpp"
```
test-c24f69.cpp
`Same as test.cpp above.`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsW1tz4zay_jX0C4oqEuD1wQ-yZE2cctZzxs7sowoEmjJ2KJIHBG35_PpTACmKoCSPnJndrd0k5XhIXBpfd6MvANu0acSmBLh2whsnXF7RVj1X8poWgtMXWgpaXmUVf7teVNtaFKLcIPUMqKlayQCxigPKoKheUdvs-_KqKKpX_caq7ZaWHElo2kI1SJRmwOJ-_rdPiEnaPDtk7nhLx9v_jjzEClpuXD9CbqO4Q5bMwTcOvvFj5DLk7lD_jhQ0asbqGrlV95yJErl3MyfyJiT7H_PaKNkyhebIiW-6FoREqZBwyP6dVWWjYFdLNHdw4uAUOWSOhIMTz7zEN0687InHy2FeT_lmTHmOqBPeIOKFcZAkKQnCMEixH0ROeJg4JgI7BbLsIKAblPWLDUNtZm6M5EXTqUTRklPJUdWqulUHydpz_Bky_3Xiax0y94n-lWomWSsllArVVDYgkaq-QYkcHGsAOO65cjDxkLfzPM8Lo9CLccACHgXosxSlelSUfXuSlMGj2JS0-IWWvADp4OSlEtzBcy3CrqvR2nPI3DP_D7T9CW2cMYaK4mWrOSLz5q3pHhYF0LKtH8qOmoOTtjRbmaOiKjdGVVp9q7aRDl4VFdODVpkoHbzabzIH33g7zIiXMebg9IAC2yg8FvEELfSW_QKsegH5NuVPlEqvaY1ZVKWCnTrNKOmXiPOApUFA8xB7PeRCZA5e7ZJoHQVuIcp2527Ktutgs6aadcADHGLPgh1YNEOP0Jih9bpWzxIoX38TRbEW27qALZSKKlGVaObgVVkrLZvxsBlzyDwIHDKPowP98BL6pd7DtHiXcpzoTTeSRnSK8njau-SSdEIungo3iCO0aYzODKWm3zWrmXl7azjUjSZdNWLn4JWkogFDW2__-UgGiU06DeOcIJpVUnWEFe_UZ5o6dL7m-EAhtTeXT0IWXLxZs8QPWTBoXVuMd0QPsg_Rg8yi51scJgGjmKCqBklVJVEJr-eN7b2d2yjeO-_DFqZAMbEWtywv9lIekaALCp3dzz9_pUUL_YuUh4cRKGOMC2S_X-wQ4sTLImLLmNiwqB_w5Cys3-g3mEtJ334qpjzgiYUpsDCRJCVhdF5U_QtOzo34vRSlUD3uKdA_DpzmMQkjC3hoAQ9onMe-pkfLqnzbVm2DSrqFpqYM9Ly9hunb7a6Wty-0aPVO7Nq_ikaou1Koe9Eo3W9zOO7p4qoJQouxnP6npcXTW63XQnrcQg-j5Qm_rcFHNnhOaQhjao9qqwyoSt7QBhyyOESvLf0Ga4NiXSupYXyca7xAWVUVDrkdCcBmWkMYMXsJV_FUJSnGqF902MujJY7k-R1G7s1G28-IJhoYNmd0ASmN6q7MKzP6Et4Sm7eMRgEMvN2VnwtD_ZRdfBzPDwriSKxG1RdxmU40GGDMvwdGJyqS_zSrugAm9ibmE_hZ-E8zn1P8_VPsB_sT6YeEZcMe62D8xxoQxkcGlJD_OgPCZMJlBjyekj4ANn6x0YYgaCH-D-R7Ahh3PD71x4JzLHylcgmssLg42MDjlhbFV2CqknfbunDIwpyTdVdNhXTIYryRzTn9vmIm15-s85lKjX0p6KasGiWYMYnbHtBebt1Z9NJgz3AKPB4HezzJUiIcJvwEu90L9JI1wjP84eQ_hXfKvTDhFu_hlPcE8rO8s2dg31bVsEuHvdUz8C8XxB8QQAK5JQArWQohyX1spc2PsKX9eV5zv6j04VSrXwqaFaCFQ-We_xOC69zzhQCjMOc-tnJoHE8AsjTwTwOccz6y9qeqW38MakB05JEmvuhyvDQNfAuvlcuEmZ97-zuzQZ8NyNHzSITzXIHcv1dyXvK5UlJkrYLmmJNu0LF7OlqBP8G2LkwkyKtzTm08a1XJL7TcgBbnBzWIE-5FniWRdCIRHsbsuxL5JKu2tnnWfaLc6N7HGtgxCweh9A78FIuWSKcUppY43So_TUhZGLOxkOwbu5DmmRfG3xXSg1y1JdNQl5Df9dc6x0J7n-fvinXOGDSN7hO50GH0A4xGqRda0ca-PtSM-hG_1D4sfvVZ-Mjt_AF2pzr-MXb9yAow9j1lSHMaef677N7uOjWe9ax_jMWPMJFEnuXTCJkwkZL8fZ_2VNX38ALFsQt-qOn_tvBZTULgYPJfID-E-ZNu_reKt4VOPSqpHhVV0IfCy_mLSW55KBLY_EEe5nDE3_zxaXII0ZDG-cjH4wcOeZiDhcXKSEhIEm7bx_zxaSW1eyv53JjCPogBaxX0Tf1nkctQEEYjPtm2VlpAOPejzPLZi4rDJyh_EoIgJHmU2Q4xnsohwhaCd4TwcfYjbC9uBXESRImfZzb721oUIO9MIsjgtATOo_3QjiUZj_zcugG2b6hJBFGKfTunMVAOOF-GmJa8x8eHXAUB87VsDCyw4pjvpTgkEWLMX2-psFNkc2dlzH3BnunoTKjNf4HsNrxAo-9TF-LzE88LiXWzGfg2viRIuYf20lr4T8aA303kj8EaZXIpXkCePLgGVhAgxI9pammrm9urZOEvus-y0z19UnSHxoda65cWVuOjkqLc9E61E-xwEFmv2W7n-91LRhvB1o0Z3jNpDdYNayWpUM2-e0KOFloV5oJq6NdDRon1fDiydFMcHBd0m3Hq4Lgz2q59_ymjb-vMuTvq_Fplp2VMJjJOgyQ2e2Z0NM_77GEtjexM737d_rKJ0aLIKPu2zks7Qv2lo4OObjWn_WelswoJpl9oIYhHujj1Hba_E2zLR5pD8WbJ833dfeBjchZTCKycNAin9slo_ue2z4tDAE1CRq0rhcDOHTDNwQ_OStMEIHoUwvcitqLVZKIpXTlzmn1n6PxH7pAI9Tn41pfHwM5UcOb5FH-U31-rrDnP7K9Vdi8a-z7yI3dN_QfCS-XzwzdthPrgU2xJyU6pMAuDMDuHaDl6tjKZEynMOen-C6V0ecJECQlCK5ML0klCEhHcW8s-ZdrjMiY__2AKFOcBwdZ-DScpGs2DOEZ6rcvzKp8HseVCQ39SdBHx1EPrdSEy7bWoVGsdWQ1LpgqDNe1xbUdfPXJq0uzZIfPQFKVEh1XxdFUIPGTmiFKo6ULdo6buGuqm9sPHmig-BK6QnCJqsXKKi5PESawzmvBAO5ho2-MEUEf1cpUCcHI4NA6dZI5ASvOBsNtAKO9PHUOhX05FARy9CvWMYCdUVyDoE1Pd0jaA3BekKtQAIDE6MoxXQi8gG1GVyI9m3swURD0rVZuiL7xy8Goj1HObzVi11Xxo--v-cWtZ_QOYmm2EQn7KIITQD3MWemGaU54ASymAT5KUspT7XppFozD9ROUGdIKA-tqVtvxWVq_lqIalG2cKj9C24lDo0V25kOkyh5yiAL4URkYnhX0k0rJS-niH-HABj7aN8Q-9Un_gZ1QG-fn-dv54i-ZPT_PFL-jpl1u0eri_f_j73d8-odXd_e0jenowzTe_f0Jfbj8_fHkaMHyWUMuKQdMA7ys_HZw02k1opdOmqZigCjiSbYkaJkWthgESkMkLgCN6KEq8SAJagmpb69_QKJfhII9Skwz-KI3m-eOK-FnqsMsxn4Zi2sYI80iCEwATLo7KZ8e0HUy6ckRkFMhbBhLllUS_Z22pWjSxt0Dbm-u3ptM_kOiiJaJy03QCxa7bRS5Xm4FDlpuuqsvB2PRO6nb3zWz_sOsfmDVtX5DaD6rGzcZNde13_cPMwfiA8UGKjShpsfdEGqgedbBBU5dm_IROr8aOb8DH_P2jkqIuoH_rHULNxvVs3TjYCuVW2T_271sJBd25tCj2LfsmCUXv7pp9FxcNzQpwcwkwYCiASpc2ys0gryS4-qwIOlG15xhGXkD2V8hDJ6OSuy-0aME1H84HYFSUbi6Krvm0xLcHjG7n37qOWgyaqwVzC3gZuvC4QzRuLQZOtrmkW3DrypSDOmQ5Ekq-perZBSnLamjKa5dVpZKUKYcsq0HfeVm5smpLLsqNq-cNC5hMSbY643JpIWhzYDdvy1dRcldpYTUOWQ5AlfHzLqvbg3bdKBi62xJGnRsoQR7Y33bhZr9HgCq3YbTotCh2wF0TIF3auK9UluKwtzhk7WYDUi9gTljLDc8GtOaQSjfgskOC6XIdRZaz_SAJnZsw7V3b2c3dvfebe9UZ9in7MQ37cl1XNG-Ngu2UeGcpJgfp6G4YO13i6fv7gZNfomRFy0Fj2pu8GfxvAHBi1r8dkw1gpU3-lUp-KZbLtH9Y70KqfdLywWk_QTAnxp4D0f25BDsH5j21X0rpR5d-NyTmHGoJJjtyt5TJatSRtZv3_EHeuZpCbIXq2_x06NyULXP7yO6QZTDDM__gbnY7F3YMaisc5SeaKOeyEYMXW67XnxaL9S_zr7fr5d_nX1Z4vVjdreePvzlk6X8vcn8v7A_18X9F7b-i9n9J1P4z2f15-3aTAOMsNEe3IWu3zyonT3jDyEe6BUSbw9_80ax6gZkTeVf8mvCUpPQKrv0oxVEQeYl_9XydEQ-8NKNJjqnHMxLESWbKI1KPY-7hK3GNPUy8BPt-ihPPn_GAJzwNIEuiNAq57wQebKkoZnr_zCq5uRJN08J1FCQxuSpoBkVj_moS4xJekenU7IXLK3ltTD1rN40TeIVoVHOgooQq4HphDl9-1P0dpCg3yEX3919_Q7dfvjx80eeXqlWoytEWtpV8Qw5OsnajT3KVVA5Or1pZXH_sZkSHJQ2ycfDKMPH_AQAA__8y9xVc">