<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/146387>146387</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [objective-c][c++] Segfault in CodeGen when calling [super test] inside a C++ lambda with GCC ObjC runtime
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          bonsthie
      </td>
    </tr>
</table>

<pre>
    will working on the clang test suite [clang/test/CodeGenObjCXX/lambda-expressions.mm](https://github.com/llvm/llvm-project/blob/main/clang/test/CodeGenObjCXX/lambda-expressions.mm)

i got a compiler segfault when compiling it with the default driver:

```bash
clang lambda-expressions.mm -fblocks
```

i narrowed it down to using an Objective-C `super` call inside a C++ lambda on the GCC runtime path and with the verifier disabled:

```bash
clang -cc1 \
 -disable-llvm-verifier \
  -fobjc-runtime=gcc \
  -emit-obj lambda-expressions.mm
```

### source file:

```cpp
template <class T> void take_lambda(T &&lambda) { lambda(); }

@interface A
- (void)test;
@end
@interface B : A
@end
@implementation B
- (void)test {
    take_lambda([=] { [super test]; });
}
@end
```

### environment:

```bash
clang version 20.1.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/15.1.1
Found candidate GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.1.1
Selected GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.1.1
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
```

### Expected behavior

```bash
Aliasee cannot be NULL!
ptr @.objc_class_refB
fatal error: error in backend: Broken module found, compilation aborted!
```

### stack trace

```bash

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: clang -cc1 test_lambda_segfault.mm -disable-llvm-verifier -fobjc-runtime=gcc -emit-obj
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'test_lambda_segfault.mm'.
4.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@"_ZZ10_i_B__testENK3$_0clEv"'
 #0 0x00007fabab2ea01d llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/src/debug/llvm/llvm-20.1.6.src/lib/Support/Unix/Signals.inc:799:22
 #1 0x00007fabab2e7647 llvm::sys::RunSignalHandlers() /usr/src/debug/llvm/llvm-20.1.6.src/lib/Support/Signals.cpp:105:20
 #2 0x00007fabab2e7647 SignalHandler /usr/src/debug/llvm/llvm-20.1.6.src/lib/Support/Unix/Signals.inc:405:31
 #3 0x00007fabaa44def0 (/usr/lib/libc.so.6+0x3def0)
 #4 0x00007fabab4639d6 llvm::Value::getValueID() const /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/IR/Value.h:533:12
 #5 0x00007fabab4639d6 llvm::GlobalObject::classof(llvm::Value const*) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/IR/GlobalObject.h:161:25
 #6 0x00007fabab4639d6 llvm::isa_impl<llvm::GlobalObject, llvm::Constant, void>::doit(llvm::Constant const&) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/Support/Casting.h:64:64
 #7 0x00007fabab4639d6 llvm::isa_impl_cl<llvm::GlobalObject, llvm::Constant const*>::doit(llvm::Constant const*) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/Support/Casting.h:110:36
 #8 0x00007fabab4639d6 llvm::isa_impl_wrap<llvm::GlobalObject, llvm::Constant const*, llvm::Constant const*>::doit(llvm::Constant const* const&) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/Support/Casting.h:137:41
 #9 0x00007fabab4639d6 llvm::isa_impl_wrap<llvm::GlobalObject, llvm::Constant const* const, llvm::Constant const*>::doit(llvm::Constant const* const&) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/Support/Casting.h:129:13
#10 0x00007fabab4639d6 llvm::CastIsPossible<llvm::GlobalObject, llvm::Constant const*, void>::isPossible(llvm::Constant const* const&) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/Support/Casting.h:257:62
#11 0x00007fabab4639d6 llvm::CastInfo<llvm::GlobalObject, llvm::Constant const*, void>::doCastIfPossible(llvm::Constant const* const&) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/Support/Casting.h:493:26
#12 0x00007fabab4639d6 decltype(auto) llvm::dyn_cast<llvm::GlobalObject, llvm::Constant const>(llvm::Constant const*) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/Support/Casting.h:663:48
#13 0x00007fabab4639d6 findBaseObject<llvm::GlobalValue::getAliaseeObject() const::<lambda(const llvm::GlobalValue&)> > /usr/src/debug/llvm/llvm-20.1.6.src/lib/IR/Globals.cpp:365:40
#14 0x00007fabab469f6b llvm::DenseMap<llvm::GlobalAlias const*, llvm::detail::DenseSetEmpty, llvm::DenseMapInfo<llvm::GlobalAlias const*, void>, llvm::detail::DenseSetPair<llvm::GlobalAlias const*>>::~DenseMap() /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/DenseMap.h:766:50
#15 0x00007fabab469f6b llvm::detail::DenseSetImpl<llvm::GlobalAlias const*, llvm::DenseMap<llvm::GlobalAlias const*, llvm::detail::DenseSetEmpty, llvm::DenseMapInfo<llvm::GlobalAlias const*, void>, llvm::detail::DenseSetPair<llvm::GlobalAlias const*>>, llvm::DenseMapInfo<llvm::GlobalAlias const*, void>>::~DenseSetImpl() /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/DenseSet.h:54:7
#16 0x00007fabab469f6b llvm::DenseSet<llvm::GlobalAlias const*, llvm::DenseMapInfo<llvm::GlobalAlias const*, void>>::~DenseSet() /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/DenseSet.h:274:7
#17 0x00007fabab469f6b llvm::GlobalValue::getAliaseeObject() const /usr/src/debug/llvm/llvm-20.1.6.src/lib/IR/Globals.cpp:403:1
#18 0x00007fabae210fbd llvm::TargetMachine::isLargeGlobalValue(llvm::GlobalValue const*) const /usr/src/debug/llvm/llvm-20.1.6.src/lib/Target/TargetMachine.cpp:56:3
#19 0x00007fabafe17d4b handleConstantAddresses /usr/src/debug/llvm/llvm-20.1.6.src/lib/Target/X86/X86FastISel.cpp:718:5
#20 0x00007fabafe18486 llvm::SmallVectorTemplateCommon<llvm::Value const*, void>::isSmall() const /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/SmallVector.h:143:39
#21 0x00007fabafe18486 llvm::SmallVectorImpl<llvm::Value const*>::~SmallVectorImpl() /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/SmallVector.h:603:23
#22 0x00007fabafe18486 llvm::SmallVector<llvm::Value const*, 32u>::~SmallVector() /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/SmallVector.h:1203:3
#23 0x00007fabafe18486 X86SelectAddress /usr/src/debug/llvm/llvm-20.1.6.src/lib/Target/X86/X86FastISel.cpp:986:1
#24 0x00007fabafe18ef5 llvm::SmallVectorTemplateCommon<llvm::Value const*, void>::begin() /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/SmallVector.h:267:45
#25 0x00007fabafe18ef5 llvm::SmallVectorTemplateCommon<llvm::Value const*, void>::rend() /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/SmallVector.h:275:73
#26 0x00007fabafe18ef5 decltype(fp.rend()) std::rend<llvm::SmallVector<llvm::Value const*, 32u>>(llvm::SmallVector<llvm::Value const*, 32u>&) /usr/include/c++/15.1.1/bits/range_access.h:182:26
#27 0x00007fabafe18ef5 decltype(rend(forward<llvm::SmallVector<llvm::Value const*, 32u>&>(fp))) llvm::adl_detail::rend_impl<llvm::SmallVector<llvm::Value const*, 32u>&>(llvm::SmallVector<llvm::Value const*, 32u>&) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/ADL.h:53:42
#28 0x00007fabafe18ef5 decltype(rend_impl(forward<llvm::SmallVector<llvm::Value const*, 32u>&>(fp))) llvm::adl_rend<llvm::SmallVector<llvm::Value const*, 32u>&>(llvm::SmallVector<llvm::Value const*, 32u>&) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/ADL.h:104:59
#29 0x00007fabafe18ef5 auto llvm::reverse<llvm::SmallVector<llvm::Value const*, 32u>&>(llvm::SmallVector<llvm::Value const*, 32u>&) /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/STLExtras.h:422:46
#30 0x00007fabafe18ef5 X86SelectAddress /usr/src/debug/llvm/llvm-20.1.6.src/lib/Target/X86/X86FastISel.cpp:974:39
#31 0x00007fabafe201ad X86SelectLoad /usr/src/debug/llvm/llvm-20.1.6.src/lib/Target/X86/X86FastISel.cpp:1345:3
#32 0x00007fabafe201ad fastSelectInstruction /usr/src/debug/llvm/llvm-20.1.6.src/lib/Target/X86/X86FastISel.cpp:3642:25
#33 0x00007fababde2479 llvm::FastISel::selectInstruction(llvm::Instruction const*) /usr/src/debug/llvm/llvm-20.1.6.src/lib/CodeGen/SelectionDAG/FastISel.cpp:1646:3
#34 0x00007fabac012b41 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) /usr/src/debug/llvm/llvm-20.1.6.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1774:9
#35 0x00007fabac0147a4 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) /usr/src/debug/llvm/llvm-20.1.6.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:616:22
#36 0x00007fabac00270b llvm::OptLevelChanger::~OptLevelChanger() /usr/src/debug/llvm/llvm-20.1.6.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:269:7
#37 0x00007fabac00270b llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /usr/src/debug/llvm/llvm-20.1.6.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:376:1
#38 0x00007fabac00270b llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) /usr/src/debug/llvm/llvm-20.1.6.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:347:6
#39 0x00007fabab8d28ff llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /usr/src/debug/llvm/llvm-20.1.6.src/lib/CodeGen/MachineFunctionPass.cpp:94:33
#40 0x00007fabab4d0fa3 llvm::FPPassManager::runOnFunction(llvm::Function&) /usr/src/debug/llvm/llvm-20.1.6.src/lib/IR/LegacyPassManager.cpp:1406:40
#41 0x00007fabab4d1183 llvm::ilist_detail::node_base_prevnext<llvm::ilist_node_base<false, void>, false>::getNext() const /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/ilist_node_base.h:28:38
#42 0x00007fabab4d1183 llvm::ilist_node_impl<llvm::ilist_detail::node_options<llvm::Function, false, false, void, false, void>>::getNext() /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/ilist_node.h:117:66
#43 0x00007fabab4d1183 llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void, false, void>, false, false>::operator++() /usr/src/debug/llvm/llvm-20.1.6.src/include/llvm/ADT/ilist_iterator.h:187:25
#44 0x00007fabab4d1183 llvm::FPPassManager::runOnModule(llvm::Module&) /usr/src/debug/llvm/llvm-20.1.6.src/lib/IR/LegacyPassManager.cpp:1451:22
#45 0x00007fabab4d0382 runOnModule /usr/src/debug/llvm/llvm-20.1.6.src/lib/IR/LegacyPassManager.cpp:1521:38
#46 0x00007fabab4d0382 llvm::legacy::PassManagerImpl::run(llvm::Module&) /usr/src/debug/llvm/llvm-20.1.6.src/lib/IR/LegacyPassManager.cpp:539:55
#47 0x00007fabb5cfd122 RunCodegenPipeline /usr/src/debug/clang/clang-20.1.6.src/lib/CodeGen/BackendUtil.cpp:1229:9
#48 0x00007fabb5cfd122 emitAssembly /usr/src/debug/clang/clang-20.1.6.src/lib/CodeGen/BackendUtil.cpp:1252:21
#49 0x00007fabb5cfd122 clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /usr/src/debug/clang/clang-20.1.6.src/lib/CodeGen/BackendUtil.cpp:1416:25
#50 0x00007fabb61478fd llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>::release() /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:232:9
#51 0x00007fabb61478fd llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>::~IntrusiveRefCntPtr() /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:196:34
#52 0x00007fabb61478fd clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /usr/src/debug/clang/clang-20.1.6.src/lib/CodeGen/CodeGenAction.cpp:315:20
#53 0x00007fabb4907516 __gnu_cxx::__normal_iterator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>*, std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>>::__normal_iterator(std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>* const&) /usr/include/c++/15.1.1/bits/stl_iterator.h:1059:9
#54 0x00007fabb4907516 std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>::begin() /usr/include/c++/15.1.1/bits/stl_vector.h:999:16
#55 0x00007fabb4907516 void clang::finalize<std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>>(std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>&, clang::Sema const&) /usr/src/debug/clang/clang-20.1.6.src/include/clang/Sema/TemplateInstCallback.h:54:3
#56 0x00007fabb4907516 clang::ParseAST(clang::Sema&, bool, bool) /usr/src/debug/clang/clang-20.1.6.src/lib/Parse/ParseAST.cpp:191:11
#57 0x00007fabb6a9f1bc clang::CompilerInstance::shouldBuildGlobalModuleIndex() const /usr/src/debug/clang/clang-20.1.6.src/lib/Frontend/CompilerInstance.cpp:88:58
#58 0x00007fabb6a9f1bc clang::FrontendAction::Execute() /usr/src/debug/clang/clang-20.1.6.src/lib/Frontend/FrontendAction.cpp:1076:38
#59 0x00007fabb6a25bd7 llvm::Error::getPtr() const /usr/include/llvm/Support/Error.h:282:12
#60 0x00007fabb6a25bd7 llvm::Error::operator bool() /usr/include/llvm/Support/Error.h:242:22
#61 0x00007fabb6a25bd7 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/src/debug/clang/clang-20.1.6.src/lib/Frontend/CompilerInstance.cpp:1056:42
#62 0x00007fabb6b073af std::__shared_ptr<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2>::get() const /usr/include/c++/15.1.1/bits/shared_ptr_base.h:1673:16
#63 0x00007fabb6b073af std::__shared_ptr_access<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const /usr/include/c++/15.1.1/bits/shared_ptr_base.h:1370:69
#64 0x00007fabb6b073af std::__shared_ptr_access<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const /usr/include/c++/15.1.1/bits/shared_ptr_base.h:1358:40
#65 0x00007fabb6b073af clang::CompilerInvocation::getFrontendOpts() /usr/src/debug/clang/clang-20.1.6.src/include/clang/Frontend/CompilerInvocation.h:259:48
#66 0x00007fabb6b073af clang::CompilerInstance::getFrontendOpts() /usr/src/debug/clang/clang-20.1.6.src/include/clang/Frontend/CompilerInstance.h:313:39
#67 0x00007fabb6b073af clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/src/debug/clang/clang-20.1.6.src/lib/FrontendTool/ExecuteCompilerInvocation.cpp:297:29
#68 0x000055db43c61a03 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/src/debug/clang/clang-20.1.6.src/tools/driver/cc1_main.cpp:290:40
#69 0x000055db43c65781 ExecuteCC1Tool /usr/src/debug/clang/clang-20.1.6.src/tools/driver/driver.cpp:218:20
#70 0x000055db43c6723a clang_main(int, char**, llvm::ToolContext const&) /usr/src/debug/clang/clang-20.1.6.src/tools/driver/driver.cpp:259:26
#71 0x000055db43c581e0 main /usr/src/debug/clang/clang-20.1.6.src/build/tools/driver/clang-driver.cpp:18:1
#72 0x00007fabaa4376b5 __libc_start_call_main /usr/src/debug/glibc/glibc/csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#73 0x00007fabaa437769 call_init /usr/src/debug/glibc/glibc/csu/../csu/libc-start.c:128:20
#74 0x00007fabaa437769 __libc_start_main /usr/src/debug/glibc/glibc/csu/../csu/libc-start.c:347:5
#75 0x000055db43c58245 _start (/usr/bin/clang-20+0xb245)
[1]    835488 segmentation fault (core dumped)  clang -cc1 test_lambda_segfault.mm "-disable-llvm-verifier"  -emit-obj

```


</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsXEtz4ziS_jWoC8IKEnzq4AMtW7UV655ylN0THXNhgCQooYsCtQDoxx7mt2_gJZEUZav8qKmZ7QlPSQ2BwPclMhOJBAgsBF0xQs5BdAGiy0-4k-uWnxctE3JNyaeirZ7OH2jTwIeWf6dsBVsG5ZrAssFsBSUREoqOSgJBdKHLAFqqUoCWi7Yinwn7Wvy5-OMPgJYN3hQVPiOPW06EoC0Ts80GRJcApWsptwIEGUBLgJYrKtddMSvbjXqquXcfZ1ve_klK1XbRtAVAyw2mDKDlqzpGc-BlwMsoXLUSYli2my1tCIeCrGrcNRI-rAmzxYo5lfCByrWmXxFTpeL0nnCFXLcFYs_8FVisgZcZKU32D8_qomnL76L_mEPEMOftA6lUn1X7wKBsYScUCMzg10IJgd6TswUEsSe6LeEg9mCJmwZSJmhFIIYLgC4AurCdu2H7vFhA3jFJNwRusVxDzKo9q3vCaU0JhxUVuGhI9QKxs7L0IYgWwMvgmX3mTI_UriX7Kzyr2-LP8sz2DYLLVVnufyQbKs_a4s9pUR1KCKDA_EHRdrwksKYNOQRbbrfAyyTZbBusVDRYlA0WAt6B4Aret7SCEn8nuekUoPQOAhQDFLuCOQSJkyBAqVKZ4AKC5NL2E3qUScJrXBKoCs4gQKlqF6C51sXgwlQjrBrXv4AgyGA2_n2zbciGMIklbRm8mGhUYdJSgyP0yoSDSxBdatQgutCaoW1UWZlFrjmozgyLXd_HBEzYPeUtU5he0IZ7wtWIQeTN_FkMvOwO8xVRT8HHNM7j8GxbnjWUdY9nK9ap39ec4Apu2oo0qta2FfQReNkXJiRuGlJdUmVaEKBlJ7iyesqAly3bjlWwxKyilRpWpdPUPKKldvAIWs5myg1Q5TJWZQnQcgoQWvrRzJ_5b-siDk_t5JY0pJSk-pjWFzvwm66RVJEPMjhTgx96mzg8WiVAtk6A-iCPtnJUc64et-bRgqzxPW35tPJkDcWCECVt1kpYEPi336-vAVIktpJDEHoz5Ttybbs5J7VS3xpL3EDCeatVRH-BlMECl9-VRgcZvODtd8KUenUNgbUaUoAW1qEb-8JFyyWpTGfHfYzE5XcoOS7JNAXgZTfXV9ntFRRdsaFqNim6FeRk23KpfPcPz29UiI4IgJbaQVNWNl1FzMTLsVhrmgYQWsAtJ1velkQIUlmHqIrVk1iItqRYjQLvGBQlp1s5U-OqOVXdZmus2ptB_b8b3q443kDMV52yeYUa9ry98ibW5eRuotSz2bT7n3T7O3cPvMy3_YJgQdpa-eUt5oJwiCUkrIJtbXy7lyFbU83ucEUY4cZYvCywv3zrGFNz5Fb5eICSZcdKPcw3quA3zPCKcIASNRlarQAoOcIIoETJKTzS9h9pDC-zz2cguLrMPkPlsnhnejMmo6CZrmoHA6AEhB5AKP_HP3wvp_lFnqver_723wFAYe6VzdU9QEjV85QLCDzoPXqe5yU1LnCBCPb8CmqNCTIQZOJJmC83nDKph_TOKEW6r8TxQ94KyQne6NlN-Rqp5zbnYgRX_qQiRbcaKaRx5TNTwfjP226rtBqg5e-MPqoCumK4ETPKShBkyXwOggwhS8AfEUjiMJki8K1jpp3_wqxqCBdmun0zRgdORQJB5nuRAudZcGgK3ADGx8go1DAC38II-jBwGFak9qDmb_s2jTa0KGeincUAXXiPgaplYljVRjigEsbBvIp7cv47bjpivq6I1P_15dKKuFSx_g8TtS5pX-XLN4CWuuXZGgRZFARK4E4PoufxfW7aAjcmsDUl2tm39UCTdesGL0DZa9RjGnW_dw3ej32lJ5EFHz8Pngqcq7gNBIsjjNCiV32h8GOmS3VYF1yZH6qWygFfV9NRjt-F8l45F1hIylaachyafwzj5DTGefmjpPejdzLr9xnoada-7ylLjC3t9ETaDxxvX0383eTyM9TCDxLlsJyrmv8EAbkv_1ZiUquqzA9M2Oh7z4tJPflF3LRC0EItW1-vSAP_QfdN_ssFgiKlNzGyAvFPEAir23cTRdXqJutfRyDhXM2HKLYCQVMCqUjZyKetQos72So0e9TVE8tLLOTrZBRc_ct8bBwr5mFqmQdTzGvKqgssiIsADigOAxi7ZHS892GMqaGed0kRE91MN6cHXC059P9fFen14gcXZAZxpGM8y3ccmc3ruOjhuSRMkN8mvaVmeWTeqIjEtOk1cUvk1WYrn4bVXOtHjOuwB2dFL3Z2gyl_uUVlj9Yk_7lj-rrI_kDbsss7gJauVa1qSRyr0NOJfhx0jkQ_RevLdBz33FD8fxjB94E0VAUn7fdXh1tiwvhIxbSJVYZxED9lh7dkyvecMvhvl8UHygElfUGMY_uRIH7I376f1ww9vV60GAeBOEG-Vxf9vIdJLP-GyzVlxAU_16pw4N7TSVaDOe8tLGx6232xcCyfSHkiFw8Owuaa-EkVFnCtUwxuJs6qihMhiHgrmD_S2Py7VBHQLWksoMRPFSyDCHkjRGmY9gOy2w1umr-TUrb8zu6eLNrNpmUDHR-L8yAe1c28b5rBqHcPn4m_Q6U9wdyy809md-DvR5x2Zjp-5l2tdUwn1saArPogdDKdF4YnQN0ko49l4yNNx7EJptj8kcYmbWrt4KOsYJ7GezeDwjEUUkfvbQUFWVH2sQJGsV6kO9uOfgIrTlj1waQSFUYnTmviKVK9BVO9ne0xKVhCVj2ofWo_bi_DxdMPPz9aWO4FUJo9-v22HVoWVAqAlhyzFclxWRIhjBGlqLd-RMkL4rCyqFv-gPkb6aPYSKDeGtEO16W4avJ-eKl6PkyHvrrT9xP729Qzu7y2eW1lajavgdIThsEI46eNxdvV_VcVve-pMDZyk_w4qNKyx51sewLh5J5wQf6z5HF7d331KDk2jiFEyjGE1jEEB4GdkspPm131QsOFYcEoDEOej6s9lusWVx8FxA_CaB9yBGgKSI2FNEj6m7cfBCiIQ-S2lBSiYRasIihM-obsnra7pGOUA2Xso39LOs8wsWfnlJq5bezL7DNAy7GE47C3whnuP5aej4rQ78ccvbb2vKxONs0FFrS8MKfh-tR2G_hvSdC-wGsMzfFLtC47VY5G_MIEhy_y4x37yuyy0FEZ8Dv47ScSjP3YbdQrgvGQoIcSr58V-LqV1-SeNIu1Cky4XUKMS9-yZ_-j-FE83yc1hhuWh_DHbVyTFS6f_g1GKUh665Xh_uR_EstQ7xZZlsNNxrRCaV3Do0BvsBA9ipPc3pnUBAI3Aer5zzrFcLQNWHk1DvpO_kY96Y4l_QwKOu9mtKLXtfN4oRf3Ni7C0Z5d5ftpHz1tqJCDyJ-1FckLLEi-5eSekcdhMtU8sKsEgkWNG0FGOWtT5paZKyL_ptr5gBTSCI5Zc6Zq-OxOVYhOEYBu4GC5c0Q47VYNoRhU3Q-sI9__Ys79jgt6-eOhhN5dNvaUhDZPa59hcIpcqCQcj-PjjxfLYW0nqHZrAdkl9_vLy1G26_WkF--F4fMyO-YKftOnFId-2hZ9nBuI_F5gEEZjJxakCPbAfQiGCPl9S4ynMOxF0vTmuV5jJrdrZflTZRgFKjaJ3OD3g5MiKuvKRwh-65iaUVaE3dAtaSg7Kkn3dov-fH5mujCnn3-XdBfHIn00xcaxYToFhWyozIQgm6J5-iAQkV792DgmnE-hMD3o8VGAbCtfO7ntlHvr_bywb-ro9wRYSeyx1kEN8waQdSzm916gJDllq2-kHhY7tchGrVko2c4h9RdfkneC3pNvpF4weSOHDu--trHJkjbk9klIsrFeapee7Bj9n47k29GTHD_k2wdOJcnd2d3eQ_b1o7wiDZHkhQd3W7iHlBYtE91GRe7PLRnfNvahWWhYY4j6QVER-2GS1tWbBWqTPQ1RgcXItR_x2YcdmRAgQHtzifwPA_vPiWffBNyf6_V4aJGjKeTPKIAuNKee7zhmwrwg8TujI9vLbu8WLZM65HjOff6AzthvxrzcisDfndRWbPohRxHOvSTyY5jnK9bl5eOjQZbnrOUb3PRDj2kr69FxOyDGlUiqWS9w0xS4_P68yZ3cirW_bNDcvcse_koQe23hpmnLX0-K-7_pIUfpLwT22MnCUzaAhGxGAaUX9SbyKJyyiL-061206-i27akDd7_fxpzr92F8u3aKoqlh02-i9qDWlOGG_i_pC-evEX2bv-g5hr9E-QZRHoTat2SDT8nPPxMQ9MzKVlKNArTsw3Jo9if7bJotiqdsqofwBnNBstu7YSBjutBsirZt9p-vD2l0R-4zu71zEfDc10kUC3ewGozxvPaLEj63ujF7QOu2a6qLjjaVOctmFitfWEUeT0mPvQh-yVVYxyodkA0RWB6pPkBm1-RR-gIN155dNemyq0dSdvIgQn890mEnu7f8dNLcZQ-i-RApioqq_w7ilX2H2CTT9nH4SJzPnHbXLdgEInJvvQEUxN7JPbvslNXBFxYCk12bDUbXtT_V9YtaZgfIrXTT4-P5tuD_ZWXzPX2C0p20iIfrmcJLAlzvfVueizXmpDr0j66nXSpgAQFKx0uH67b8nm_bhpZPAM1RP7v6kjY8EwnsIO0zzH6cBL14IA5OpmUPA70Hu-NJ0vy3_P0pB4kHgiy2kWsc_lqU93nh7L15R2lvPyWOpnhPWuS9mv53TnNFZI_zCy9G_9AsO2mFrnP7Gte89-5OHJ9Moe9UfjIB60bWOovQPxYcJy_At95vYiBeSD--KXnmSNxpz788CsLte8_1xoLj5KbhKKqKMChjH3sBLEs_N1cj9ZLeGef46RuplTmtMR-ccVYh3aBst8fySmqybRtlGPZ-JLR0kHYsvL5tzEcsoiT1oZPEwleieQ8Q5ouDoA_EuxRT4o0gJCjARjmcKKl5Z1sJSstl9CqIAmlTY2-Mh1_ArW3SnQRN_CHuKPWJBxXiV3RcqPBycvR03QEMLT0b0yZoeIVBkMRFBPO8oUWZC4m5zEvcNPlzsFaqcu-zFJ2790Y8iYpsFSC2lY0xnIN2zQtgvXVBEoxBJfFcX5KVU0aPBsrP4DBfVfmZ7nxW6mBvoEbhVKcDSbxSCJOdm4MTNrWeRGNVQGEETa-D-ySK_aVpZ8jT10kUKIzsjWjRhQ-iSwghTIMoTFMoyGp_I5W59ky_WMmJvj-GVErLT7kjBiA0fU0MQAgOboU5vI3nU3UeVPNgjj-Rcz-J_MDz02D-aX3uhwmO4yqcV55XVXWEkeenOKmDuTeP0ir5RM-RhyIvDjw_DoNoPvOTqvDSCtVFXCWoJCD0yAbTZqYwzVq--qRv3zn3wzhIk08NLkgj9AV5CDHyAPWvACEQXX7i55pI0a0ECL2GCin2zUgqG32zXru7sa0E0SWILlwkEV3CW3fbHGXQZsLtxXO40dfOjS_yOnrFm77G7fNiAb8Wf-5uefvU8eb89dcPWRncn6P_CwAA__8CTrmo">