<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=http://email.email.llvm.org/c/eJztW1tzozoS_jXOi8ouEPeHPDhOMpPauW2SnXPeKAGywxkMLhC57K_fbskYhG94kszMw05lbIxA-r6-SN1qiIrk5fyWJ3XMEyJ4JWJW8ZE1HRmXI2M6co31n_pJrYTP05yTL3fhzeer-49fL8MR9cXLio9oQPCbhGElkphlmbqH5_WS5FXJqzoTZORdjLzLkXWhGuOMVRX5UogvNVyvn82rmxnLH1l1y_OEl2m-mBW54M_iBj7LnGWyM3kD6eFphkNMN3kqUpal_-V_peLhsmRP96xccGjzm3FpsBkawMHA9xcghI-seriD6zZNuixmxXLJ8oRkII598gIi-YKM49gkY1Gmq4yT1PXd8ZNrj5_SPCmeqvEir8mYL1MxLqJ_yDjhUb0Yp_m8GP-AK0bWZVzklSjrWBQlGYNo4RTcM6IX8Gd6ZPxMYvVjo75JvFrtxPO1Fqta7EP77dPV9O6KVHUEaAgjAISUfFWUgoiCPAixqvBWeg1_0FZNsuxxOSnKBfwmKIo0j7M64UQ8cBKXID4SsfiHKFkM1jEjK-isLGJeVWBqVVGX6jTeCfou4pQJaCjrnFQxCEtMFKw7AZ2QpF6uNsANaAq-lcWiZEsC2qyXPBcIjgAUARfSa8QGXyBTRJvm8PnbtWEi7JE148V8ZF2RFSsrXhImCBg4KeZknmZcXUnxSq0Da2rDfw85fvr0_TO5uSULnvOSibTI8eaEA7_1zxH1jnoPXKPGsnaM5cJ_C8f6sB4DBBcXoNo50N4aSXOXpltosgxiPBvwz5tTy7Y9blDbIlIzoElrWr1U6uAb4BNSz_fKWPz2InDYsACRcwb6dNFg4Fp07L6qm680gs-7eoWGC0f_ydNnPJEugHQ1ARuFTh3XgU_TaqGaOtSEO3NjF9TbOlddfQS7zXhZAdgT0DQwlJgD1KfptyhoX2BuMifaeDDcG_C3DTlyO7DVHThmMTNtA2ZymEbB0HkIU4Dkue792XdDcBqY-urnsTR_bFiJB9BSMqmKiQEOYDybNvSCs-tmGLs7DHMd7gE_6ZdKupdgWuoIZuh_occp6Uqv22KsbqTX63mnc2Z6dw-f2Bua5uQBKVto0E6Hs3MEzOzvv295XJRJi0quTOC91O-BVghHdLpLM0NwwmASpun56HwubXG6u3C2pplWLEyXK0A42wsevKbTpjc8FinMYleqKSlSobNrL244ugesr6W4PtEa4oxVOI9Ilo6PVDscvWEcw_inaLbaOYXnTl2extM0nB5RfyDRp5KtXkf1jYXxhto3LbMnleBXSaU5-HNlQ7uywYXJ2CWbqCgyXUCv9otfSdKm0jlakuZhA4DQRMBiJMTL27g_dBXKZKUdInnJQxzmFQMMEOLrZWfZTk929Mg6BovMOvbbLK1wSoH7xF6KethMeHgNVoGBWs-6XV_UaQbx5zrgsagPAfAUbGiDXos8mEVp4vMj6O9BczcQk9_gqqdBx5afBN2Os8YK0Ri6ouW1WO0eVot51kCs74fTDKi0iA7OXmRDXQbBTnd4mQFLWA3Ob0WKicFfaSIeAGudVxAw8qQJtk8NwCDsSiERum5HUkEYNVCyQQvVPQL1MxxlXJPqUp76wpZcF-qHrIhY1jjq_gxif4DWlbMaeGMLaAqO3eLWApaIBjGLbMjIhLotQXTSPJ0LFqU4gz0_m-bIudQhzyCnghRL-_G5SGrIA1Wus5depwHH2l77cYU4zrUBsDlSo69po7L8lrPf4-xFUUBkDowwwlBxlD8i1H8IQk8R5Sx-YCWC2lyMJ0JRshTTdtWMs2fnCpZlRcwg-2jbyWb-Dj-H2JqFCROsn4FBrlYWBc6bdVVumC7ieHfm4k0czFeuJ5Ptj45hq6y-c32E2OGrw1Qtbj4ubk2igXIL_hi5ad1T_xdj2B1B_GZ12RbmIrRVFzUOqmvFUqT1q9W3dy5oVPu7cB2apmSbKGuuQqM_DdtvM8JKZCHqax3Q4XzRLi3UPNH-Eh6zl5DliRTi6vcYwWZmDlUxYEYOItyrlF4_MMCmnyX7wcM_08z_b957zdvB6gpkfK190132PSwoaqLVTpS1PwZ8Xexj2k4gvbMFrqUqkRH5hmfuB_7hEosHbZA9gwBUcEgoP_NlxMvrOo9xC70XEGKzeCi247k2nr28ucZCwfbpe-l5B7cgt5i3KBvevoXzUSdGp3afdzCPTuBdZBmPxRbxaov5nl2so8zvluAi3znWZG7URmjbBtJkKkictj7z9kILfMzBaBssU6cnNLAWeqqxILZLLLim25aihLWVSP48Bwz2nRa_28NvepDzDMYPPvq1bEno0P9ds-x-vUrsUW4vV_5UxK8jB4us3HiwWoJ6BmfErhPMhxO8WqZCTTbfWZmyKNOrVv2mPiloGVw2GKa6jr_28jTGjMjrCLpYoTVh8gS-ka4rG1_XJ-_AidiC93bB9BkZILNcoAQEl4vZnGUV72yuVbK8fspe1_QSc-4GhFw4fE9nFfxeViPvqt_bqym6SJG2K4xlHObY3HwCjx3w9-A-vpmDhWeVM6HBWe0WpGXuwn3Ckq55074Zb9tn3maXw3Z9WY5q6fQiFGZZzPg5Ovu47NuraoSQ1ScvSnv2bzqlBL3KC7winmhr0i8rvyIY-ziYYrkqKim9X1mCtQ2nW4JFrM4urMdKsNsE9DVgYAH2PUuvyM0dxm2r9DqE3pB62ruWXJGgN5DgdnHxNIpvQP_diqwoh35Y8LZy2FdcPUUO71xKtfohhJTAsVLqQPJb1b93INQvm9r9eKGn0n1l0xMorSO6geXSQR3vEdQ7lEbtflzSX2OGLOT3xeoTf-TrxXog8FNWacf3cL2hHdx6AAIRvWfM8Qkslhf5y7KoK5KzJa9W8mG5QIOPj-s1eTCeVs-NHSbxoSzq1S2fn8JEUdDLu6aHi7zXJll2L-LwncTWkqwLFv_geYJRa73EcPU9Ia-PpnL7oa3yIvA2LrH1Ii91PNfxu5C_4WObMmroYrrjS7beXVAx6dDYVHbXfEO3jSjdPi49BmGO7ScarusSi6R5ouit7feZx7XYl6noQJr7O4eapALP7HmXHjkEydw03c4UcVWWxVqjWGAW5cFo8riry_6ko1PpMJ2Z3fYGQylWykPW6jkphduJxZJY2icabH8XFm3SWa7SjJc3MlOLuaaq6Y5NwZ5mh9SwO8rsD9cYmGHJWnzHWfXlkcWW62r7m2uIbYePuC-9vYfZ5zdkimwA30utXO8dqnFbF42RtvtVTrMUqn82rJXcIXFshkuGT3939mamZclecOpQ2-n6Q1CwXGnnmvj8MAcBqHHnOynTR9w8uG4GbuDa0kg6cM0eXGoZDmlYz0wlhg7o7T3ObewH7WILojpo9sdMT_coh_YBmt6cIKWfHcHvJR6OtjZY3txJDEbCEOwB6yWsFFKCBIsOcYVliUl7iBeN5UUTfJ7ZMnzdCR1bh2_Mbd8hqtv1o8yH3xOQDzCr2zZPMN_xBb5ooJ58nzN8wUR_j-IsObeSwArYGavFQ1GeL6CrJK2XZ3WZnetvUCxS8VBHE4iX9HlnvCqLf0DPOP9UVc1Rog71fHr2cB5Rmzk-d6y5xc2YBYE3NzzDsgwWODb1_bMMIpysOh85FyNKc_5EZBdwPHIuz16PID2nBjXRFKhJDcOcmEYcBS71AjOax2xujmwD1sE027waclaeyy7xfRFozNJKtO-NnEEmj08ZcQkYEIpUZPy8mQrW75DAbYe2KM4kxnMJ8H_7FOw2>52782</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Frontend crash @clang::Decl::getKind
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
glandium
</td>
</tr>
</table>
<pre>
Reduced testcase:
```
#define NS_IMETHOD_(type) type __stdcall
enum nsresult {};
class NotNull;
class nsICanvasRenderingContextInternal {
NS_IMETHOD_(nsresult) InitializeWithDrawTarget(NotNull);
} nsTBaseHashSet;
```
Command line:
```
clang -cc1 -triple i686-w64-windows-gnu -emit-obj -debug-info-kind=constructor -std=gnu++17 -x c++ testcase.cpp
```
Output:
```
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /tmp/llvm/obj/bin/clang -cc1 -triple i686-w64-windows-gnu -emit-obj -debug-info-kind=constructor -std=gnu++17 -x c++ testcase.cpp
1. <eof> parser at end of file
2. testcase.cpp:4:7: LLVM IR generation of declaration 'nsICanvasRenderingContextInternal'
3. testcase.cpp:6:3: Generating code for declaration 'nsTBaseHashSet'
#0 0x00007f23447e0243 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /tmp/llvm/llvm/lib/Support/Unix/Signals.inc:565:13
#1 0x00007f23447de5f0 llvm::sys::RunSignalHandlers() /tmp/llvm/llvm/lib/Support/Signals.cpp:97:18
#2 0x00007f23447e06df SignalHandler(int) /tmp/llvm/llvm/lib/Support/Unix/Signals.inc:407:1
#3 0x00007f234caca140 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
#4 0x00007f234a65e7df clang::Decl::getKind() const /tmp/llvm/clang/include/clang/AST/DeclBase.h:433:51
#5 0x00007f234a65e7df clang::CXXRecordDecl::classof(clang::Decl const*) /tmp/llvm/clang/include/clang/AST/DeclCXX.h:1786:62
#6 0x00007f234a65e7df llvm::isa_impl<clang::CXXRecordDecl, clang::RecordDecl, void>::doit(clang::RecordDecl const&) /tmp/llvm/llvm/include/llvm/Support/Casting.h:58:12
#7 0x00007f234a65e7df llvm::isa_impl_cl<clang::CXXRecordDecl, clang::RecordDecl const*>::doit(clang::RecordDecl const*) /tmp/llvm/llvm/include/llvm/Support/Casting.h:105:12
#8 0x00007f234a65e7df llvm::isa_impl_wrap<clang::CXXRecordDecl, clang::RecordDecl const*, clang::RecordDecl const*>::doit(clang::RecordDecl const* const&) /tmp/llvm/llvm/include/llvm/Support/Casting.h:131:12
#9 0x00007f234a65e7df llvm::isa_impl_wrap<clang::CXXRecordDecl, clang::RecordDecl const* const, clang::RecordDecl const*>::doit(clang::RecordDecl const* const&) /tmp/llvm/llvm/include/llvm/Support/Casting.h:121:12
#10 0x00007f234a65e7df bool llvm::isa<clang::CXXRecordDecl, clang::RecordDecl const*>(clang::RecordDecl const* const&) /tmp/llvm/llvm/include/llvm/Support/Casting.h:142:10
#11 0x00007f234a65e7df llvm::cast_retty<clang::CXXRecordDecl, clang::RecordDecl const*>::ret_type llvm::dyn_cast<clang::CXXRecordDecl, clang::RecordDecl const>(clang::RecordDecl const*) /tmp/llvm/llvm/include/llvm/Support/Casting.h:345:10
#12 0x00007f234a65e7df clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const /tmp/llvm/clang/lib/AST/RecordLayoutBuilder.cpp:3289:26
#13 0x00007f234a322d8e clang::ASTContext::getTypeInfoImpl(clang::Type const*) const /tmp/llvm/clang/lib/AST/ASTContext.cpp:2321:37
#14 0x00007f234a323a73 clang::ASTContext::getTypeInfo(clang::Type const*) const /tmp/llvm/clang/lib/AST/ASTContext.cpp:1925:17
#15 0x00007f234a626a35 clang::TargetInfo::getPointerWidth(unsigned int) const /tmp/llvm/clang/include/clang/Basic/TargetInfo.h:420:29
#16 0x00007f234a626a35 clang::MangleContext::mangleName(clang::GlobalDecl, llvm::raw_ostream&) /tmp/llvm/clang/lib/AST/Mangle.cpp:231:54
#17 0x00007f234b29cab4 getMangledNameImpl[abi:cxx11](clang::CodeGen::CodeGenModule&, clang::GlobalDecl, clang::NamedDecl const*, bool) /tmp/llvm/clang/lib/CodeGen/CodeGenModule.cpp:0:8
#18 0x00007f234b297bb9 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data() /tmp/sysroot/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/basic_string.h:182:51
#19 0x00007f234b297bb9 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /tmp/sysroot/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/basic_string.h:438:21
#20 0x00007f234b297bb9 std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, clang::GlobalDecl>::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, clang::GlobalDecl&, true>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, clang::GlobalDecl&) /tmp/sysroot/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_pair.h:342:4
#21 0x00007f234b297bb9 std::pair<std::__decay_and_strip<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::__type, std::__decay_and_strip<clang::GlobalDecl&>::__type> std::make_pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, clang::GlobalDecl&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, clang::GlobalDecl&) /tmp/sysroot/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_pair.h:529:14
#22 0x00007f234b297bb9 clang::CodeGen::CodeGenModule::getMangledName(clang::GlobalDecl) /tmp/llvm/clang/lib/CodeGen/CodeGenModule.cpp:1459:34
#23 0x00007f234b0b8071 clang::CodeGen::CGDebugInfo::CreateCXXMemberFunction(clang::CXXMethodDecl const*, llvm::DIFile*, llvm::DIType*) /tmp/llvm/clang/lib/CodeGen/CGDebugInfo.cpp:1832:29
#24 0x00007f234b0b89fb clang::CodeGen::CGDebugInfo::CollectCXXMemberFunctions(clang::CXXRecordDecl const*, llvm::DIFile*, llvm::SmallVectorImpl<llvm::Metadata*>&, llvm::DIType*) /tmp/llvm/clang/lib/CodeGen/CGDebugInfo.cpp:1985:28
#25 0x00007f234b0bb802 clang::CodeGen::CGDebugInfo::CreateTypeDefinition(clang::RecordType const*) /tmp/llvm/clang/lib/CodeGen/CGDebugInfo.cpp:0:5
#26 0x00007f234b0b1717 clang::CodeGen::CGDebugInfo::getOrCreateType(clang::QualType, llvm::DIFile*, clang::TypeLoc) /tmp/llvm/clang/lib/CodeGen/CGDebugInfo.cpp:3429:23
#27 0x00007f234b0c659f clang::CodeGen::CGDebugInfo::EmitGlobalVariable(llvm::GlobalVariable*, clang::VarDecl const*) /tmp/llvm/clang/lib/CodeGen/CGDebugInfo.cpp:0:9
#28 0x00007f234b2aa0b7 llvm::optional_detail::OptionalStorage<clang::CodeGen::ConstantEmitter, false>::reset() /tmp/llvm/llvm/include/llvm/ADT/Optional.h:87:9
#29 0x00007f234b2aa0b7 llvm::optional_detail::OptionalStorage<clang::CodeGen::ConstantEmitter, false>::~OptionalStorage() /tmp/llvm/llvm/include/llvm/ADT/Optional.h:67:24
#30 0x00007f234b2aa0b7 llvm::Optional<clang::CodeGen::ConstantEmitter>::~Optional() /tmp/llvm/clang/include/clang/Basic/LLVM.h:40:30
#31 0x00007f234b2aa0b7 clang::CodeGen::CodeGenModule::EmitGlobalVarDefinition(clang::VarDecl const*, bool) /tmp/llvm/clang/lib/CodeGen/CodeGenModule.cpp:4688:1
#32 0x00007f234b2a33a0 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) /tmp/llvm/clang/lib/CodeGen/CodeGenModule.cpp:0:12
#33 0x00007f234b2abed2 clang::Decl::getKind() const /tmp/llvm/clang/include/clang/AST/DeclBase.h:433:51
#34 0x00007f234b2abed2 clang::DecompositionDecl::classof(clang::Decl const*) /tmp/llvm/clang/include/clang/AST/DeclCXX.h:4056:62
#35 0x00007f234b2abed2 llvm::isa_impl<clang::DecompositionDecl, clang::Decl, void>::doit(clang::Decl const&) /tmp/llvm/llvm/include/llvm/Support/Casting.h:58:12
#36 0x00007f234b2abed2 llvm::isa_impl_cl<clang::DecompositionDecl, clang::Decl const*>::doit(clang::Decl const*) /tmp/llvm/llvm/include/llvm/Support/Casting.h:105:12
#37 0x00007f234b2abed2 llvm::isa_impl_wrap<clang::DecompositionDecl, clang::Decl const*, clang::Decl const*>::doit(clang::Decl const* const&) /tmp/llvm/llvm/include/llvm/Support/Casting.h:131:12
#38 0x00007f234b2abed2 llvm::isa_impl_wrap<clang::DecompositionDecl, clang::Decl* const, clang::Decl const*>::doit(clang::Decl* const&) /tmp/llvm/llvm/include/llvm/Support/Casting.h:121:12
#39 0x00007f234b2abed2 bool llvm::isa<clang::DecompositionDecl, clang::Decl*>(clang::Decl* const&) /tmp/llvm/llvm/include/llvm/Support/Casting.h:142:10
#40 0x00007f234b2abed2 llvm::cast_retty<clang::DecompositionDecl, clang::Decl*>::ret_type llvm::dyn_cast<clang::DecompositionDecl, clang::Decl>(clang::Decl*) /tmp/llvm/llvm/include/llvm/Support/Casting.h:345:10
#41 0x00007f234b2abed2 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) /tmp/llvm/clang/lib/CodeGen/CodeGenModule.cpp:5876:20
#42 0x00007f234b32870f (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) /tmp/llvm/clang/lib/CodeGen/ModuleBuilder.cpp:173:73
#43 0x00007f234b285d4f clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) /tmp/llvm/clang/lib/CodeGen/CodeGenAction.cpp:232:11
#44 0x00007f234a257658 clang::ParseAST(clang::Sema&, bool, bool) /tmp/llvm/clang/lib/Parse/ParseAST.cpp:162:11
#45 0x00007f234ba548d8 clang::FrontendAction::Execute() /tmp/llvm/clang/lib/Frontend/FrontendAction.cpp:971:10
#46 0x00007f234b9df116 llvm::Error::getPtr() const /tmp/llvm/llvm/include/llvm/Support/Error.h:276:12
#47 0x00007f234b9df116 llvm::Error::operator bool() /tmp/llvm/llvm/include/llvm/Support/Error.h:236:16
#48 0x00007f234b9df116 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /tmp/llvm/clang/lib/Frontend/CompilerInstance.cpp:1030:23
#49 0x00007f234bac3661 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /tmp/llvm/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:261:25
#50 0x00000000004142e5 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /tmp/llvm/clang/tools/driver/cc1_main.cpp:246:15
#51 0x0000000000412305 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) /tmp/llvm/clang/tools/driver/driver.cpp:317:12
#52 0x000000000041217f main /tmp/llvm/clang/tools/driver/driver.cpp:388:12
#53 0x00007f23437f5d0a __libc_start_main ./csu/../csu/libc-start.c:308:16
#54 0x000000000040f485 _start (/tmp/llvm/obj/bin/clang+0x40f485)
Segmentation fault
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztW1tzozoS_jXOi8ouEFc_5MFxkpnUJjOzSXbOeaMEyA5nMLhA5LK_frslYxC-4cltHnYqY2ME0vf1RepWQ5jHL6e3PK4iHhPBSxGxkg-sycA4HxiTgWus_tRPasV8lmScfLsLrm4u7r9-Pw8G1BcvSz6gY4LfJAhKEUcsTdU9PKsWJCsLXlapIAPvbOCdD6wz1RilrCzJt1x8q-B6_WxWXk1Z9sjKW57FvEiy-TTPBH8WV_BZZCyVnckbSAdPPRxiusoSkbA0-S__KxEP5wV7umfFnEObX49Lx-uhARwMfH8GQvjKyoc7uG7dpMtimi8WLItJCuLYJS8gks3JMIpMMhRFskw5SVzfHT659vApyeL8qRzOs4oM-SIRwzz8hwxjHlbzYZLN8uEvuGJgnUd5VoqiikRekCGIFk7BPQN6Bn-mR4bPJFI_1uobRcvlVjzfK7GsxC60P64vJncXpKxCQEMYASCk4Mu8EETk5EGIZYm30kv4g7ZylKaPi1FezOE3QVEkWZRWMSfigZOoAPGRkEW_RMEisI4pWUJnRR7xsgRTK_OqUKfxTtB3HiVMQENRZaSMQFhipGDdCeiExNViuQZuQNP4R5HPC7YgoM1qwTOB4AhAEXAhvURs8AUyRbRJBp-frg0TYQ-sKc9nA-uCLFlR8oIwQcDAST4jsyTl6kqKV2odWBMb_nvI8fr65w25uiVznvGCiSTP8OaYA7_VzwH1DnoPXKPGsraM5cJ_C8f6shoDBBfloNoZ0N4YSXOXultosgxiPBvwz5tRy7Y9blDbIlIzoElrUr6U6uAH4BNSz_fKWPzmInDYIAeRcwb6dNFg4Fp07K6q668khM-7aomGC0f_yZJnPJHMgXQ5AhuFTh3XgU_TaqCaOtSYOzNjG9TbKlNdfQW7TXlRAtgj0NQwlJjHqE_Tb1DQrsDceEa08WC4N-BvG3LkZmCrPXDEImbaBszkMI2CofMApgDJc9X7s-8G4DQw9VXPQ2n-2LAUD6CleFTmIwMcwHg2begFZ9f1MHZ7GOY63AN-0i-VdM_BtNQRzND_Qo9T0pVet8FY3UgvV_NO68zk7h4-sTc0zdEDUrbQoJ0WZ-cAmOnff9_yKC_iBpVcmcB7qd8BrRAO6GSbZvrghMEkTNPz0flc2uB0t-FsTDMpWZAsloBwuhM8eE2rTW94zBOYxS5UU5wnQmfXXFxzdPdYX0NxdaIxxCkrcR6RLB0fqbY4ev04BtFv0Wy0cwzPrbo8jqdpOB2ifk-iTwVbvo7qGwvjDbVvWmZHKuOPkkp98OfKhrZlgwuTsU02YZ6nuoBe7RcfSdKm0jkakuZ-A4DQRMBiJMTL27g_dBXIZKUZIn7JAhzmFQP0EOLrZWfZTkd29MA6BovMKvZbL61wSoG7Zi951W8m3L8Gq8BArWftrs-qJIX4cxXwWNSHAHgCNrRGr0UezKI09vkB9PeguSuIya9w1dOgY8tvgm7GWWGFaAxd0fIarHYHq8U8qyfW98Npjqm0iBbOTmRDXQbBTnt4mQFLWDXOH3mCicFfSSweAGuVlRAw8rgOto8NwCDsSiARumxGUkEYNVCy4waqewDqDRylXJPqQp76xhZcF-qXNA9ZWjvq7gxid4DWlrMaeG0LaAqO3eDWApaQjiMW2pCRCXVbjOikeTpnLExwBnt-Ns2Bc65DnkJOBSmW9uMmjyvIA1Wus5NeqwHH2lz7cYU4zLUGsD5So69oo7L8hrPf4eyF4ZjIHBhhBIHiKH-EqP8AhJ4gymn0wAoEtb4YTwSiYAmm7aoZZ8_WFSxN84hB9tG0k_X8HdwE2JoGMROsm4FBrlbkOc6bVVmsmc6jaHvm4o0czFcuR6PNj5Zhq6y-dX2I2OGrxVQtbj4ubnWigXIb_zFy07qn_gdj2B5BfLK6bAtzEdqoixp71bVkCdL6aPXtnAtq1X4Wrn3TlGwTRcVVaPSnYfs0IyxFGqC-VgEdzhfN0kLNI-0v5hF7CVgWSyEuP8cI1jNzoIoBU7IX4U6ldPqBAdb9LNgvHvyZZv5_895p3g5WVyDja-ybbrPvfkFRHa22oqzdMeDrYh_TdsbSOxvgWqoSGqFveOZu4F_OsXjQBNlTCEAFh4Tyhi9CXlxWWYRb6J2AEJvFQ74ZzzXx7PnVJRYKNk_fS8_buwW5wbxBWfP2LZyPWjE6tbu8x7PwCN55mvJIbBAvN5jv2MU6yPxuAS7yk2NN5kpthDZtIE2mgsRJ4zNvL7SxjzkYbYJl6nSEBtZCjzUWxHaOBddk01KUsDYSyd_ngMG-0-B3O_hND3Ke3vjBR78XDQkd-r8rlt6vVokdyu3kytd59DpysMjKjQerIahncEbkOuNZf4IXi0SoyeYnKxIWpnrVqtvUJQUtvcsG_VTX8tdOnsaYEXotQedLtCZMnsA3klVl4_vq5B04EZvzzi6YPiMDZJYJlIDgcjGbsbTkrc21UpbXj9nrmpxjzl2DkAuH7-msxp_LauBddHt7NUUXKdJmhbGM_Rzrm4_gsQX-DtyHN3Ow8KxyJjQ4q9mCtMxtuI9Y0jVv2jXjbfrM2-xy2K4vy1ENnU6EwiyLGb9HZxeXXXtVtRDS6uhFacf-TauUoFd5gVfIY21N-rDyK4KxD4PJF8u8lNL7yBKsbTjtEixidbZhPVSC3SSgrwE9C7DvWXpFbm4_bhul1z70-tTT3rXkigS9ngQ3i4vHUXwD-u9WZEU5dMOCt5XDruLqMXJ451Kq1Q0hpAQOlVJ7kt-o_r0DoW7Z1O7GCx2V7iqbHkFpFdH1LJf26niHoN6hNGp345LuGtNnIb_Pl9f8ka8W657Aj1mlHd_D9Ya2cOsBCET0njHDJ7BYlmcvi7wqScYWvFzKh-XGGnx8XK_Og_G0em5sP4kvRV4tb_nsGCaKgl7eNT1c5L0mybI7EYfvxLaWZJ2x6BfPYoxaqwWGq-8JeXU0kdsPTZUXgTdxia0XeanjuY7fhvwDH9uUUUMb0x1fsNXugopJ-8amsrv6G7qtRel2cekxCHNsP9ZwXRZYJM1iRW9lv888qsSuTEUHUt_fOtQkNfbMjnfpkcM4npmm25oiLooiX2kUC8yi2BtNHnZ12Z90dCodpjWz215vKPlSechKPUelcFuxWBJL80SD7W_Dok06i2WS8uJKZmoR11Q12bIp2NFsnxp2S5nd4WoDMyxZi285q748sshyXW1_cwWx6fAR96U39zC7_PpMkTXge6mVy51D1W7rojHSZr_KqZdC9c-GtZI7JIrMYMHw6e_W3sykKNgLTh1qO11_CAqWK-1cHZ_v5yAANe58x0XyiJsHl_XANVxbGkkLrtmBSy3DITXrqanE0AK9uce5iX2vXWxAVAf1_pjp6R7l0C5A05sRpPS7I_idxMPR1gbLmzmxwUgQgD1gvYQVQkqQYNEhKrEsMWoO8aKhvGiEzzNbhq87oWPr8I2Z7TtEdbt6lHn_ewLyAWZ12_oJ5js-xxcN1JPvM4YvmOjvUZzEp1Y8tsbsRCQi5ae1Ua_ehhjYxr5k-6Qq0lP9NYt5Ih6qcARBlT45DZdF_g8YA05SZVlxFLtDPZ-ePJyymMaOP565oesylxuRYYU0Dscs8izqerOTFMKgtDwdOGcDSjP-RGQXcDxwzk-SU2pQE7VNTWoY5sg0onDsUm9shrOIzUwgAUtdkq7f_jgpTiUkfCUEGtOkFM2rISeQrOODRFwOB_2zSjzkxekc5BAn1eJEjn0qsf8PepTXqw">