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

    <tr>
        <th>Summary</th>
        <td>
            Clang frontend crashes when processing template alias CTAD
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    # Log
```
~/LLVM-19.1.1-Linux-X64/bin/clang -v
clang version 19.1.1 (/home/runner/work/llvm-project/llvm-project/clang d401987fe349a87c53fe25829215b080b70c0c1a)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/czm233/LLVM-19.1.1-Linux-X64/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/13.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1
Found candidate GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/13.3.0
Found candidate GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/14.2.1
Selected GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/14.2.1
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
Found CUDA installation: /opt/cuda, version 

~/LLVM-19.1.1-Linux-X64/bin/clang test.cpp -std=c++20 -o test
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: /home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -dumpdir test- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name test.cpp -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 -debugger-tuning=gdb -fdebug-compilation-dir=/home/czm233/draft -fcoverage-compilation-dir=/home/czm233/draft -resource-dir /home/czm233/LLVM-19.1.1-Linux-X64/lib/clang/19 -internal-isystem /usr/lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1 -internal-isystem /usr/lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/x86_64-pc-linux-gnu -internal-isystem /usr/lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/backward -internal-isystem /home/czm233/LLVM-19.1.1-Linux-X64/lib/clang/19/include -internal-isystem /usr/local/include -internal-isystem /usr/lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../x86_64-pc-linux-gnu/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -std=c++20 -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fno-implicit-modules -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/test-680fd3.o -x c++ test.cpp
1.      test.cpp:10:42: current parser token ';'
 #0 0x00005b98c6202988 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x695d988)
 #1 0x00005b98c61ffe1e llvm::sys::RunSignalHandlers() (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x695ae1e)
 #2 0x00005b98c62030f8 SignalHandler(int) Signals.cpp:0:0
 #3 0x000074b65124c1d0 (/usr/lib/libc.so.6+0x3d1d0)
 #4 0x00005b98c9b17803 clang::Sema::DeclareAggregateDeductionGuideFromInitList(clang::TemplateDecl*, llvm::MutableArrayRef<clang::QualType>, clang::SourceLocation) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0xa272803)
 #5 0x00005b98c97980e0 clang::Sema::DeduceTemplateSpecializationFromInitializer(clang::TypeSourceInfo*, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>)::$_1::operator()(bool) const::'lambda'(clang::InitListExpr*)::operator()(clang::InitListExpr*) const SemaInit.cpp:0:0
 #6 0x00005b98c9785e8c clang::Sema::DeduceTemplateSpecializationFromInitializer(clang::TypeSourceInfo*, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>)::$_1::operator()(bool) const SemaInit.cpp:0:0
 #7 0x00005b98c9785067 clang::Sema::DeduceTemplateSpecializationFromInitializer(clang::TypeSourceInfo*, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x9ee0067)
 #8 0x00005b98c9255cbb clang::Sema::deduceVarTypeFromInitializer(clang::VarDecl*, clang::DeclarationName, clang::QualType, clang::TypeSourceInfo*, clang::SourceRange, bool, clang::Expr*) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x99b0cbb)
 #9 0x00005b98c925690c clang::Sema::DeduceVariableDeclarationType(clang::VarDecl*, bool, clang::Expr*) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x99b190c)
#10 0x00005b98c925707e clang::Sema::AddInitializerToDecl(clang::Decl*, clang::Expr*, bool) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x99b207e)
#11 0x00005b98c8ef80dc clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x96530dc)
#12 0x00005b98c8ef4c0e clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x964fc0e)
#13 0x00005b98c8ea39de clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x95fe9de)
#14 0x00005b98c8ea3395 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x95fe395)
#15 0x00005b98c8ea2231 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x95fd231)
#16 0x00005b98c8ea04a1 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x95fb4a1)
#17 0x00005b98c8e9b79e clang::ParseAST(clang::Sema&, bool, bool) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x95f679e)
#18 0x00005b98c6f9a2c4 clang::FrontendAction::Execute() (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x76f52c4)
#19 0x00005b98c6ed33f0 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x762e3f0)
#20 0x00005b98c709d4fa clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x77f84fa)
#21 0x00005b98c3b1a4cf cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x42754cf)
#22 0x00005b98c3b164ff ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#23 0x00005b98c3b15099 clang_main(int, char**, llvm::ToolContext const&) (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x4270099)
#24 0x00005b98c3b284ba main (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x42834ba)
#25 0x000074b651234e08 (/usr/lib/libc.so.6+0x25e08)
#26 0x000074b651234ecc __libc_start_main (/usr/lib/libc.so.6+0x25ecc)
#27 0x00005b98c3b081a5 _start (/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19+0x42631a5)
clang: error: unable to execute command: Segmentation fault (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 19.1.1 (/home/runner/work/llvm-project/llvm-project/clang d401987fe349a87c53fe25829215b080b70c0c1a)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/czm233/LLVM-19.1.1-Linux-X64/bin
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/test-c983ef.cpp
clang: note: diagnostic msg: /tmp/test-c983ef.sh
clang: note: diagnostic msg: 

********************
```
/tmp/test-c983ef.cpp:
```cpp
# 1 "test.cpp"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 478 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "test.cpp" 2
template<typename V>
struct my_struct {
  using T = V;
  T data;
};

template<typename V>
using my_alias = my_struct<V>;

constexpr my_alias tmp = my_struct<int>{};

int main() {
  return 0;
}
```
/tmp/test-c983ef.sh:
```sh
# Crash reproducer for clang version 19.1.1 (/home/runner/work/llvm-project/llvm-project/clang d401987fe349a87c53fe25829215b080b70c0c1a)
# Driver args: "test.cpp" "-std=c++20" "-o" "test"
# Original command: "/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19" "-cc1" "-triple" "x86_64-unknown-linux-gnu" "-emit-obj" "-dumpdir" "test-" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "test.cpp" "-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" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/home/czm233/draft" "-fcoverage-compilation-dir=/home/czm233/draft" "-resource-dir" "/home/czm233/LLVM-19.1.1-Linux-X64/lib/clang/19" "-internal-isystem" "/usr/lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1" "-internal-isystem" "/usr/lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/x86_64-pc-linux-gnu" "-internal-isystem" "/usr/lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/backward" "-internal-isystem" "/home/czm233/LLVM-19.1.1-Linux-X64/lib/clang/19/include" "-internal-isystem" "/usr/local/include" "-internal-isystem" "/usr/lib64/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../x86_64-pc-linux-gnu/include" "-internal-externc-isystem" "/include" "-internal-externc-isystem" "/usr/include" "-std=c++20" "-fdeprecated-macro" "-ferror-limit" "19" "-fgnuc-version=4.2.1" "-fno-implicit-modules" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-fcolor-diagnostics" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "/tmp/test-680fd3.o" "-x" "c++" "test.cpp"
 "/home/czm233/LLVM-19.1.1-Linux-X64/bin/clang-19" "-cc1" "-triple" "x86_64-unknown-linux-gnu" "-emit-obj" "-dumpdir" "test-" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "test.cpp" "-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" "-debugger-tuning=gdb" "-fdebug-compilation-dir=/home/czm233/draft" "-fcoverage-compilation-dir=/home/czm233/draft" "-std=c++20" "-fdeprecated-macro" "-ferror-limit" "19" "-fgnuc-version=4.2.1" "-fno-implicit-modules" "-fskip-odr-check-in-gmf" "-fcxx-exceptions" "-fexceptions" "-fcolor-diagnostics" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-x" "c++" "test-c983ef.cpp"
```

# To reproduce
Test.cpp:
```cpp
template<typename V>
struct my_struct {
  using T = V;
  T data;
};

template<typename V>
using my_alias = my_struct<V>;

constexpr my_alias tmp = my_struct<int>{};

int main() {
  return 0;
}
```
Compiling this file with -std=c++20 or higher will cause a crash.
Godbolt: [https://godbolt.org/z/sneE9fqdP](https://godbolt.org/z/sneE9fqdP)

# More details
According to my observation, this error only occurs when:

1. There is a type alias that depends on a template argument in the class template (T in my_struct).
2. There is a non-static field member whose type depends on the type alias in (1) in the class template (data in my_struct).
3. There is an alias of the class template. (my_alias)
4. CTAD on that alias is triggered. (tmp)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsW0tz2zqy_jX0BkUVCVIiufBCkazEdZ1JbqzJ3J0LBJoSJiTAAUHHPov726cAPkRS8iOOcuZUTU7luEg8Gl9_aHQDYItUFd8JgEtn_s6Zry9IrfdSXdI_ChwEQXCRSvZ46eAA3cid460db-ksvPafff1_B29ubr5-dP1k5s9894aL-sH9v0Xo4E3KhYM3NCdih9z7pn3zdg-q4lKgphNycOzgzV4W4OCNqoUA5eDNd6m-OXiT5_eFWyr5T6D6-LWRx0LPT-IogyBMSBzReZABnsc4wf489WIvjTzqUZ84OGlgbInagXaCJXqIF3eL0K3FNyG_Cze3-HeibtvtFRCGCskgN61LWfGHpupaVJrkObA1V6bqoEHD3gvEWBkbWQuGKBGMM6IBvV-tEG_kEs2laOXWleEj56mDNztKHbxpUZd0ABhv_GAWzLxfIzqc4Zn_NtFW51-F-2XhA-S3kAPVwM4rddWDLepcc0NmsEQzJ3jnhF6xCJ9rFeC2WYAnEJ-T1ZC0-vt6eUoLWdqVUTPi4FW_1trl-0OrVkOlZ7QskVtp5gRr6uB3Dn6HPeRKW9mI-3xztby9QlWdFlwjgtJ6hxSUUmmkJdprXVZOsHTwxpDK9b5OZ1QW7WI-XtO8qmqoHLxBRDDEBc1rBkjvAVFFqj1KCf2mFaFg1CsVlEpSqCpgqJK1aopNT1JVknJiyFS1QBVVvNSzlmZN6DfE6qI0yGyRN0OfldwpUiCidnUBQldvWNgtd66fIJdSH7la8TKHJx0NcqHg2pXpP5Fr8DCuLLUuchmvSJqDmykA5NIciHJJpd0UMqnANTyAYId2lsd7UDzjoGwxJYq59ySvwRWkgAq5BeHCzXjeFAxmuFCQS2rtyLX-DpWcIrfk1M3hHnKEmxdeuSUH5BaZIgW4peRCg3KCNclz5GYF0XsXlBISuVlWulQKM1faCdZSIDcT0lXGernYuaYtcgsqRaVVTbVULsk5qQzOrBbfuWCuNppVTrDGyNXWa7u0rA2b7iJErq4F2IIdCFAGMIO03u1AmSoudk6w3rEUuZktd6ksSt6sFpcZx70-Mb1MkUwjN6PyHhTZwQ_1UtBYoWn4I7bT-GBrO8a_JMi1xAqSu7x6rDQUb_JQeDObHf9pF5UZsFnSfYf_0LCn5f3nwJi19Z0odhrBW-f0MOqzmklK8lc2_VkSTnc5HhkezAMdInhVowZm3_QojGQMSgXUOGm3IFQZrwFKSeXm3AQTsw6ynaip28YxJ1i3dmpcCS_KnFOujceqc-s3qm-8dCVTLt0D_eZy4e6KzCzmhwcXHiiUZhWbhqMXKnOpXMbJTshKc2rKCGOq4jvkru_u3q9Wdx-WX6_u1v9Yftngu9Xm-m55-9EJ1r6JhQ7e6KI0f43nXsRexoKZRO4DanXtHW0Ta_wZsv_1pcHS95xgGWITcWitFAiNSqIqUEjLbyCQgyOzC8BRIwE5OPCQ9-B5njdPk5gusIeTOEY2pgZLJ1hWj1Xz8FlxoW3E2zZhMz40UuT7nay0AlI4eGFCJxfawcl4U_6Dkc_B77yHRTJnSRz3e26D2B8h9rMMfDiF-EstbvlOkPwDESwHVVk05wFFwIcRKDyhMfCyGI2Gd3DcstIUV-2cefb_XlDQCorCdDH3cUh95rWQh_vsnKd0VsnZwiIKmM-8EZ5wiCdJ_Sj2AtQ4EUvOLRSkeVoDzYmC5W6nYEc0rIHV1Jj0-5oz2ChZXAuub3ilHRwPJGyhKHPbnuYOXppZP0zCx9rG3KVS5PELZE6wGvT835rk28cSnODK9BqislHvpt1CnGWyCI5w7AUjcuYjcqIk9sB7ihxWU-hUvS2BcpLzPyy8jhpbYud3yM5jCY021yKTLT-D-kNHdiU014_I7mDa5XOqoR3zf7g52AxavpLyq4dSGRCG8aQpcnB45zePsgRFtFTNAnFwnEqZG_abkdrmUU6K1JwHorGqnXl0Y3QDHEl9tk8zFjLUm8rTi2Mxnrh4DjH9PXFPTdwLZEZTMr1F9F9E5s-7lgTA8xbRyLXEI1LxfE7T9DSpzJL6lShD0rMsfiVq4GQHFY3rtpT8jRQwqe3d7Lj4pTlp6r4QsbM9G4satRgs2p_nMEk9mqYjDpMJh4vEe3aVfyWKm0kf0NHo_TSJv14rP_For5XZtXgTrSIvgtNaLRkb2MJWNrjjycQfz1yvQaffeTTBXgQjTUYbsBiy2GOj-flst5yD58HELDMNqnuXainYUmvF01pDdawjab3b1B0cjcA652Rs-iknMuy1kcqauCH6bLO-mAceG886nnAVUg9e5Oq9knU5ZsPUcbEztcb_Hit3oGslhYYHfUr5Edk_Rupx--lmbWqOv57uMKPe2DSDMd0kSNjLdH9Sm1rYLe8asuv2IHpM_yvYe7HFs1O4pBSqyobXjJsgcA6S5hkkbExSOCUpSOavXb8jrrjxUmbqfzlVU9v6VVQFyXxE1XxCFTbHz-eounpozGdA2Z9Dz3kIYDjwRwQsJgR4IXmegK0sb-Ae8uOg9akk_6rhs1bjTVnv8Ox27eqEn-kD40d7QXNdlFLpW0002Mbn0TwNyVjzaKx5kkbJsStZ3m7HSlqwjQrdHuN8sXieLaJkvJZH-81FlhBMwyHKjTLRQLAlbT_u2H0C0NqQd57rkGiRzTENR7BGW7gFsCDIRifslb0MB2U_gAoKI2At1hGvEz3ONO_RAkOQeUPoeLRPi7yEhRkZ77IsyIMG930EjJ_T8EyLNIqyOMzICPJoQxakPglphij17wpiBAxu6obnoj1R3U5p2V3FjMrwCt1Lzs6FPMTRPKTZCDmeIF-EWYY6hlf-1i6dAf7bguT5V6BaquuizE-qMTkRGhntlmiwMUwQU_we1PHR2MAKJrDmXpI0NtBRaq_yGsIsP8vXDXoOEj0vSUYkhmO0OA5TggzOcwwXB2E6trb5-IYyCMGLX7yhxHPw4pGYxZEYStHdnel2V2mi9N1AhWcF09GWG0djOrzYJ3PUiDwHIYvAJ4dNQrfikf3gYB5qYc6iSEsEjR0jKouCCGYqb2FXgNDWX6CM1LmFRKUC-x0Z2DOCm8_pWesIO6koIzwHhlhtx6zs3bIRWleA3HtbBoD4wE0lv9NojtNoer6F1CYcocN3HFRUtqYzsZ_4N8ifaBMeltvtcvUBbT9coc2nm5tP_7j-23u0ub65ukXbT7b43d_foy9Xnz992fZpBp9PJSzElfEwTyYt9A0UIPuRHhgiuhf5Gv1HH6hoEgeQHT5HvVVAtf_RCTjXNIyz0J7ULpi271V2cIDMksH9JziMJzVOsEprnmuXCxucMPJfbBEcWoRR_GKbTkrnEHIu4NVjTfEONOnqdHsL4AQr_ViCTfn4arrb2ibrAhWPd-2TE71rr_JQbU4paIucYG169OVbxIgmfYETrQ_PrxiyEVs83tlEDyu9H94JVrbhWJ4NwfBQqkMvXZRHPU1QD66MAkeIuNCoDf02jh-UVKBrJZA3UufVBlbtj-2rWxFmUlY2W8kud1ZTUCiTCv1FPLfBt7a7KETUrs1zGlmQg_H0c31XLNsHmwE2XDafFN9xE8MGYdM0eHvYbgak1O8em2yq9u3JqNM27jKruvc2v2oA3-2rBrlW_bBPZFxN-4zyrgaV0-yrrmqcgzVAM-T-KB-rrSg57Zr0uVltAR5WNHlavbQT2Vpd3SBnqy-aZm71FdP8rX6AE1lcfaejXK5-NvuMrsOMusYQ2uo2u6t9b3O8eoZPZXr1Y_5ovlff8Q1ZX13fYe5XW_ZT2UKN1Gn6z0Hyn5AJ9ReAcFreXwFYlyX2Mpqfzxh7tcbj7LE_jahnM8mOUExSxQ5ofrjDKMPshcB1lG3WVwxyztqyw_o7mX82dIjTLLS-7mQu2sHRjDLSDlCOi46y0_qaNkete38-U20av09nrXWtHtqH3u6nYar_6vs7wP8O8P8dAf63X3nOrzztMYZn8v7AMDli9aeIrTwcmtr7o0Oa7FPn-d8n3fOcdJtvHwa63vMKGSeGvnO9P87dlgrt-W4PCn3neY4oqStApPmNTvsrm_eSpTK3F4TO_N3kh0BN3Uwqs9P5w8GbSsBVkv2LfXbmawfHr2_eH2p7E_pob2VBE55XTemSUqmY1Uui4hHJtAJ1396qrhpl7WJFUuSPSFJaqwp934M4GF2Xur3dgwLEK0SQmXjUztWeaMSgBMEqJIWpbA2k_z0R4qL5HVNOqupQ7eB4a6oOs4yTlkE8Gk1I4VaaaE5RxiFnqIAiNROwlxU0WAYAzEgDfM2FvG8M40kYxuKfQBIMkYhWpsxOCJoZSZ0J95MTztBqu1w3wIjuQFVIK26cPDDbz25Ikgt2GbAkSMgFXPoRjoMojmPvYn_JMKE0xmnK_IRE2cKPQkbIAqJ5xOYpxhf8Ens49D0v9hI_DL0Zw9EiC3yYe0m0IAw7oQcF4fnMBHVjThf292aXvu_PvfgiJynklf09LMbtPhw78_WFurS7gLTeVU7o5bzS1UGE5jqHy9Xklt-sBGiMCLV3vtYAe7OwFBhWLmqVX779h3It9vtL_O8AAAD__-2K5PQ">