<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61772>61772</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] flang-new crashes with "pointer not a MutableBoxValue"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
k-arrows
</td>
</tr>
</table>
<pre>
Test code:
https://github.com/gcc-mirror/gcc/blob/master/gcc/testsuite/gfortran.dg/associated_7.f90
```console
$ cat associated_7.f90
! { dg-do compile }
!
! PR 55692: ICE on incorrect use of ASSOCIATED function
!
! Contributed by Gilbert Scott <gilbert.scott@easynet.co.uk>
INTEGER, POINTER :: P1, P2
PRINT *, ASSOCIATED([P1,P2]) ! { dg-error "must be a POINTER" }
END
```
Stack dump:
```console
#0 0x000055bfc9f4d6ac llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
#1 0x000055bfc9f4dcee SignalHandler(int) Signals.cpp:0:0
#2 0x00007f09e7c3b520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#3 0x00007f09e7c8fa7c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x96a7c)
#4 0x00007f09e7c3b476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#5 0x00007f09e7c217f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#6 0x000055bfc9f1500b llvm::report_fatal_error(llvm::Twine const&, bool)
#7 0x000055bfc9f14eb9 llvm::report_fatal_error(llvm::Twine const&, bool)
#8 0x000055bfca3bbf26 mlir::InFlightDiagnostic::~InFlightDiagnostic()
#9 0x000055bfcae876c0 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<fir::MutableBoxValue const*> (*)(fir::details::matches<IntrinsicLibrary::genAssociated(mlir::Type, llvm::ArrayRef<fir::ExtendedValue>)::$_12, IntrinsicLibrary::genAssociated(mlir::Type, llvm::ArrayRef<fir::ExtendedValue>)::$_13>&&, std::variant<mlir::Value, fir::CharBoxValue, fir::ArrayBoxValue, fir::CharArrayBoxValue, fir::ProcBoxValue, fir::BoxValue, fir::MutableBoxValue, fir::PolymorphicValue> const&)>, std::integer_sequence<unsigned long, 3ul>>::__visit_invoke(fir::details::matches<IntrinsicLibrary::genAssociated(mlir::Type, llvm::ArrayRef<fir::ExtendedValue>)::$_12, IntrinsicLibrary::genAssociated(mlir::Type, llvm::ArrayRef<fir::ExtendedValue>)::$_13>&&, std::variant<mlir::Value, fir::CharBoxValue, fir::ArrayBoxValue, fir::CharArrayBoxValue, fir::ProcBoxValue, fir::BoxValue, fir::MutableBoxValue, fir::PolymorphicValue> const&) IntrinsicCall.cpp:0:0
#10 0x000055bfcae6725e IntrinsicLibrary::genAssociated(mlir::Type, llvm::ArrayRef<fir::ExtendedValue>)
#11 0x000055bfcae7c2c0 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<fir::ExtendedValue> (*)(IntrinsicLibrary::genIntrinsicCall(llvm::StringRef, std::optional<mlir::Type>, llvm::ArrayRef<fir::ExtendedValue>)::$_1&&, std::variant<mlir::Value (IntrinsicLibrary::*)(mlir::Type, llvm::ArrayRef<mlir::Value>), fir::ExtendedValue (IntrinsicLibrary::*)(mlir::Type, llvm::ArrayRef<fir::ExtendedValue>), void (IntrinsicLibrary::*)(llvm::ArrayRef<fir::ExtendedValue>)> const&)>, std::integer_sequence<unsigned long, 1ul>>::__visit_invoke(IntrinsicLibrary::genIntrinsicCall(llvm::StringRef, std::optional<mlir::Type>, llvm::ArrayRef<fir::ExtendedValue>)::$_1&&, std::variant<mlir::Value (IntrinsicLibrary::*)(mlir::Type, llvm::ArrayRef<mlir::Value>), fir::ExtendedValue (IntrinsicLibrary::*)(mlir::Type, llvm::ArrayRef<fir::ExtendedValue>), void (IntrinsicLibrary::*)(llvm::ArrayRef<fir::ExtendedValue>)> const&) IntrinsicCall.cpp:0:0
#12 0x000055bfcae64bb9 IntrinsicLibrary::genIntrinsicCall(llvm::StringRef, std::optional<mlir::Type>, llvm::ArrayRef<fir::ExtendedValue>)
#13 0x000055bfcae79e90 fir::genIntrinsicCall(fir::FirOpBuilder&, mlir::Location, llvm::StringRef, std::optional<mlir::Type>, llvm::ArrayRef<fir::ExtendedValue>)
#14 0x000055bfca59b260 Fortran::lower::genIntrinsicCall(fir::FirOpBuilder&, mlir::Location, llvm::StringRef, std::optional<mlir::Type>, llvm::ArrayRef<fir::ExtendedValue>, Fortran::lower::StatementContext&)
#15 0x000055bfca41b25f (anonymous namespace)::ScalarExprLowering::genIntrinsicRef(Fortran::evaluate::ProcedureRef const&, std::optional<mlir::Type>, std::optional<Fortran::evaluate::SpecificIntrinsic const>) ConvertExpr.cpp:0:0
#16 0x000055bfca41b376 (anonymous namespace)::ScalarExprLowering::genRawProcedureRef(Fortran::evaluate::ProcedureRef const&, std::optional<mlir::Type>) ConvertExpr.cpp:0:0
#17 0x000055bfca41d51b (anonymous namespace)::ScalarExprLowering::genProcedureRef(Fortran::evaluate::ProcedureRef const&, std::optional<mlir::Type>) ConvertExpr.cpp:0:0
#18 0x000055bfca4d4fe2 fir::ExtendedValue (anonymous namespace)::ScalarExprLowering::genFunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>(Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>> const&) ConvertExpr.cpp:0:0
#19 0x000055bfca4d3286 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<fir::ExtendedValue> (*)(fir::ExtendedValue (anonymous namespace)::ScalarExprLowering::genval<4>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>> const&)::'lambda'(auto const&)&&, std::variant<Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>, (Fortran::common::TypeCategory)4>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Not<4>, Fortran::evaluate::LogicalOperation<4>, Fortran::evaluate::Relational<Fortran::evaluate::SomeType>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>> const&)>, std::integer_sequence<unsigned long, 8ul>>::__visit_invoke(fir::ExtendedValue (anonymous namespace)::ScalarExprLowering::genval<4>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>> const&)::'lambda'(auto const&)&&, std::variant<Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>, (Fortran::common::TypeCategory)4>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Not<4>, Fortran::evaluate::LogicalOperation<4>, Fortran::evaluate::Relational<Fortran::evaluate::SomeType>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>> const&) ConvertExpr.cpp:0:0
#20 0x000055bfca4d2302 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<fir::ExtendedValue> (*)(fir::ExtendedValue (anonymous namespace)::ScalarExprLowering::genval<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>>(Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>> const&)::'lambda'(Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4> const&)&&, std::variant<Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 1>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 2>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 8>>> const&)>, std::integer_sequence<unsigned long, 2ul>>::__visit_invoke(fir::ExtendedValue (anonymous namespace)::ScalarExprLowering::genval<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>>(Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>> const&)::'lambda'(Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4> const&)&&, std::variant<Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 1>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 2>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 8>>> const&) ConvertExpr.cpp:0:0
#21 0x000055bfca4d216c fir::ExtendedValue (anonymous namespace)::ScalarExprLowering::genval<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>>(Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>> const&) ConvertExpr.cpp:0:0
#22 0x000055bfca52ce7c std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<fir::ExtendedValue> (*)(fir::ExtendedValue (anonymous namespace)::ScalarExprLowering::genval<Fortran::evaluate::SomeType>(Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&)::'lambda'(Fortran::evaluate::SomeType const&)&&, std::variant<Fortran::evaluate::value::Integer<128, true, 32, unsigned int, unsigned long>, Fortran::evaluate::NullPointer, Fortran::evaluate::ProcedureDesignator, Fortran::evaluate::ProcedureRef, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)0>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)1>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)2>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)3>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5>>> const&)>, std::integer_sequence<unsigned long, 8ul>>::__visit_invoke(fir::ExtendedValue (anonymous namespace)::ScalarExprLowering::genval<Fortran::evaluate::SomeType>(Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&)::'lambda'(Fortran::evaluate::SomeType const&)&&, std::variant<Fortran::evaluate::value::Integer<128, true, 32, unsigned int, unsigned long>, Fortran::evaluate::NullPointer, Fortran::evaluate::ProcedureDesignator, Fortran::evaluate::ProcedureRef, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)0>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)1>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)2>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)3>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5>>> const&) ConvertExpr.cpp:0:0
#23 0x000055bfca40741e fir::ExtendedValue (anonymous namespace)::ScalarExprLowering::genval<Fortran::evaluate::SomeType>(Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&) ConvertExpr.cpp:0:0
#24 0x000055bfca4073a1 Fortran::lower::createSomeExtendedExpression(mlir::Location, Fortran::lower::AbstractConverter&, Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&, Fortran::lower::SymMap&, Fortran::lower::StatementContext&)
#25 0x000055bfca3ba4c7 (anonymous namespace)::FirConverter::genExprValue(Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&, Fortran::lower::StatementContext&, mlir::Location*) Bridge.cpp:0:0
#26 0x000055bfca5a8851 genOutputItemList(Fortran::lower::AbstractConverter&, mlir::Value, std::__cxx11::list<Fortran::parser::OutputItem, std::allocator<Fortran::parser::OutputItem>> const&, bool, bool, mlir::Value&, bool) IO.cpp:0:0
#27 0x000055bfca5a57e3 Fortran::lower::genPrintStatement(Fortran::lower::AbstractConverter&, Fortran::parser::PrintStmt const&)
#28 0x000055bfca3c189f (anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&, bool) Bridge.cpp:0:0
#29 0x000055bfca3ed830 (anonymous namespace)::FirConverter::lowerFunc(Fortran::lower::pft::FunctionLikeUnit&) Bridge.cpp:0:0
#30 0x000055bfca3b8e30 Fortran::lower::LoweringBridge::lower(Fortran::parser::Program const&, Fortran::semantics::SemanticsContext const&)
#31 0x000055bfca3271bd Fortran::frontend::CodeGenAction::beginSourceFileAction()
#32 0x000055bfc9f6c479 Fortran::frontend::FrontendAction::beginSourceFile(Fortran::frontend::CompilerInstance&, Fortran::frontend::FrontendInputFile const&)
#33 0x000055bfc9f6529a Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&)
#34 0x000055bfc9f6ef28 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*)
#35 0x000055bfc9c50512 fc1_main(llvm::ArrayRef<char const*>, char const*)
#36 0x000055bfc9c4e6e0 main
#37 0x00007f09e7c22d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#38 0x00007f09e7c22e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#39 0x000055bfc9c4dc65 _start
flang-new: error: unable to execute command: Aborted
flang-new: error: flang frontend command failed due to signal (use -v to see invocation)
flang-new version 17.0.0 (https://github.com/llvm/llvm-project.git 2d68a42f084a460007b368eab191cf0ff1b976d7)
Target: x86_64-unknown-linux-gnu
Thread model: posix
```
Program arguments:
```console
flang-new -fc1 -triple x86_64-unknown-linux-gnu -emit-obj -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -o associated_7.o -x f95-cpp-input associated_7.f90
```
If you use gfortran, the compiler outputs an error message as expected:
```console
$ gfortran -c associated_7.f90
associated_7.f90:8:20:
8 | PRINT *, ASSOCIATED([P1,P2]) ! { dg-error "must be a POINTER" }
| 1
Error: ‘pointer’ argument of ‘associated’ intrinsic at (1) must be a POINTER
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsXNtzqziT_2vIi8ouEPeHPDhOPJvaM-ekkuy-uoRosCaAWCEc52X_9q8kMDbEt9xOvpnPqczkoEtfft3qFkISqSqWFgCXhntluNcXpJYLLi6fRkQI_lxdRDx-uXyESiLKYzDsiWFeG-ZkIWVZqSc8M_AsZXJRR2PKc_VA6ShnQnDRPBh4FmU8MvAsJ5WETamESlY1k6BKEi6kIMU4Tg08I1XFKSMS4rk_TkKz4dn-3zObX8qLimfQlmIHUSLRnp7YQoZ_heJ0FHNEeV6yDJDhX3fVm3Z398h1vRAb9gTdTm8QLxArKBcCqER1BYgnaPLw8Gt6O3m8uUZJXVDJeLGD0pQXUrColhCj6AX9wbIIhEQPlEuJDHuaNgXjShUYjgmkeilAjikf10-GfbOt9e3Px5s_bu4NPEV3v9TDPVLo2xN0Z-lC3LS7u7_9-YgMPFGFGzENHBjulW56hw332sAhQmgLFlD2QgbGeV1JFAEiaz4Gxhukbn5eD6ywLeSDJPQJxXVedn6y21rIwLaJzJVpmqbrRgkNEyf2CEVZtswbvaqXqvnHnWCF1JQfBaFg4GDTSJDnOa-kAJIb2FMqs0IaONxwsYZcKAB6YGlBsv8iRZwpdwyaTm1xNaalkt_U_3WEcEvIT8wQfGpHLjaRghXPMqacexV4c88ZZayoV6O0qJsKOq742DPwlblysIvNnnB2n2aQEJ-iUi4EkHj-xLLsbQxCj_i0x8AZCu34HkorredbhXd8r0fb7dPGlp_YiERcyLdRxoGf2D3KXt9mlmua0ZZnCCi5kPOESJLNoYkzWz7x-MwKQMrdZOsTEedZj4E_YOBAFH4qg2CbAbGjKMEeyjMmGgq3xSxj6UJeM5IWvJKMNuX_v6NCQblFOexRhsD3qIkqGTcE5vMYJGHZ-mlJBCOFXD-mUMyXkkQZzFleZoY9PbHnn3Um2ZwIQV5O7zSPIa4pzJesYnIuoKozadjTZI3Cn7UW5Yqv_pdkdYfoxLBvGg-aKM1x0HVomLVhISeSLqAy7OmtirJFxegPFgkiXpr6FIpJlwsMHGzQf3wpQVltY9GJUuwekm3pblYSihhiLZsKxjhsKgzszC2sCHwHY1uXeK3jdZbokJ9u2DUE8BR1pKcLItZw9yq0HDtrVJf9tXeC050VOwsHBu9T4tlLzkW5YHSt-NYQC7XWW_qyQkIKYl7B_9VQUDDsaV3oiUyMMl6kqrFdZ6qb-m3dUzsiK5b8Cc5-dfYrlfM7rKcky15nfjWDMPsh1_OxC7_RRp0cVl8On-K_begf6tmL93uh7dmql5IfVEWqwNx2Xl6qiTnJet6rDdFEk4-Ml7eMFbRXqU7nEx1lOAgbqbb9vSf15zE-iAqeoiVn8Qnc3oH4h9OAdSQNnN3t7G573O2U7IAH2cGJonB_dvh-n-oEtwfpJITQ3Bh2h6xd3YyJX-VVzbJYvT1rr9wI94NTotdDetL9du2cnnZuGGHPRLNmjanpnvFn-DsrO92rzoMkEnIo5JQXElbr2Nlh4_awcawIu4kaTaTgxUvO6woVJIeq1KstbRR6oCQj4mZVih-KESvS19BpjYOeVLAkWU0kbKZ1ENcC7iHpvUCfDNKuhgcYPpRAWcJoJ2LLVTsLmvJiCUIqpXaPbW8IlO17HwDqnjxvI_C1WJ2gnj9QL3at6APq_Vvp1l-BcWInAXwgbb1T5Vm7-NsM1gMaN6JPh7BQnue82DSZEgkpFy8GDh2Fh9POXA6i-ZuE6CXGo_iHA_xtHHj_xJeVT3eppXZ656jVVeffZe71tMrPSB7FxMC-0q-WvNfo0BT1gJitK32dLniK3tRvR3IdhC8ioJALqPQy0ReO-oNS_OSyc5SDDX_wlFGS_SpBNJOVk3rdQ0ZOSrE8h60EfdjQlTzqDl-KmZ5ZaTlETSX_0gF0RJRr0J9hvleI35W_Pv4WH5y6mHuOw-c4fI7D5zh8jsNH4_DRWTw2B7N4bJv4PIs_OXscGa7_zYr4rcY84X3weEb6EPOjCelLGH9GhvuyVG2dNMi_jD3-XvanhbgvYx982hwTf88c8xwlzlHiHCW-JUocnwFZwxmQ5dHPX0f-DwkEx-Huf011MQWfniecn-VB3fvhx_2hJfXRMK_IfEbQXjYgT_TmWp3pDXtqKcCnSIpmT5itN9d1WV9v-t561rOA42_7dZbdcTWbEMdWJ9YfubbeME_s0X46_oZBa35SlH4f98_KkO_j_lkJ8n3c7W_l_lnZ-X3c3b_7MvE57p7j7jnunuPuPyLuHp-l97cOOqbvWPBNL0VfG1qPQ-EMobCJtXdjHhVAJChea4wUYagqvYUw2L2vcB-xSVRJQahsRex2J34BDge2Gr7kf5LyWKPD-xGxOzgtRxzqH_ObGRMbxdceo_Rrj4B8hTu8UcPdG0XVCyC6EixOYbdH9TcduiQIXAulUPyqZVnLWwn5D6YECt7qGDtO8Gy96tLVyrJaWor-AJ-SiGrNYCNJjwbJMqXl6w9pe_oOA8_6HOXm7yuJt09bottfuwH0BwC6PtiHtv6uDxg3FnwHsHuVbSnnsjfV6gQdnBKlVhAe3Ye70-9nt_cHxC6TdsnipvFx7YY9JA-5Y38jnw1xYJtvF1KLM6sLeoqc66-hP9gT_E_B1rH4gJT9w-TEjgKw92_3XmeahuB29UC4vi15Kki-PxxUkJNCMtqeI3xYP7YhYacL9I-nExv7VhT3ySZC9S_aMTblMfwBxaS5ckAXRZCy4oHXgsKMZdBWbR0bVnxw_8SzRx0_PMRn1j4dYDQEayiovmNB3Oq9BhR2Ibab5W1R1lIx2I2YPdDExSE5jNhAkCbcr4DWcgPW6VAMxHEG4kCCg0PitIw3Ui27zPA2OCc9MXopNKSu6VoYJdSa54QV-07C0AUR26eulYH6Zdss-qfyqQMemEiT75r4gysBcBy-8Y4EHMah2WMbDGmCY6L5XHWbV5IIqVV8Kxdw-lzCgXIx9VzU0G8aJRkp0lEBz4Y9Qc2dAPYE1QWJMkCSo9auSM22ibYamkRcSIgP9delaG3qdWeUEJZBjOJak95c11BXgEZLXQaA2JbvhAMuaAlCzSqR5Y_NsTbCgRtbtHc0f0al4H8BleOUSYRjLyAOTszAIY6njBDZXgAkskKLJmaSWFHoe7Hf8X8kIgUVxVFrg7p4KvhzsWWLpp2-4gLlPIZMtS55xVYHLhZZB18i0lolaa3HgftFNjiMEmqhkRSszGCvUGgEOZMjHv2l2vOMi1Hc3cBQoVEuIGuhHmmZUckoGpWMjjJYQoZw88CqUckAjaSGYUTLWrEceQ4a8f7NNByNVigJ3REtyxFTEW_fzTW74LhN0Auv9WU063tz9ILLAtZ32wjE9USrQqRo3A3lUFUkBUQqBKsSqHLNwyga2OnooxHdI-GrUnsSGPYEmxvqze0VCKEAGf4UffEdNUj_KEY7ftrreW7WI9C4wUZgGmFQtotL7XPY-RriyabVRtlNQ9YdLiL66hNLCf5axD7QF_GlHYd2SC7g0vIC08SWFZgXi0scxgm4VpI4FPsBxq5HbTPwQ-p5cRiHcMEusYlt08aB5dm2aY4tO_Rt6sXUSSJKMDUcE3LCsrEaz2Mu0gtWVTVcepbv44uMRJBV-rYnjNUI0ZUGVohfiEsdA6I6rQzHVO8B1YaKZDLT10Tp0WW412gzzKgg1QIq9MzkQlmoRRMVXCKCXh3Qxxe1yC7fFpEMPNOiVgaeaVX-FQAA___kIwh9">