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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] Arith Unsigned When Equivalent Pass crashed with Assertion Failure "Bit position out of bounds!"
        </td>
    </tr>

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

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

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

<pre>
    MLIR built at commit https://github.com/llvm/llvm-project/commit/def915c39cc4e18b304c7a8c4761cc4531c3bc4b
Reproduced with:  
`mlir-opt --arith-unsigned-when-equivalent temp.mlir`

temp.mlir:
```mlir  
module {
  func.func @func() { 
    %cst_74 = arith.constant dense<[0]> : vector<1xi32> 
    %204 = arith.cmpi slt, %cst_74, %cst_74 : vector<1xi32> 
    return
  }

``` 

trace:
```console   
Assertion failed: (bitPosition < getBitWidth() && "Bit position out of bounds!"), function operator[], file APInt.h, line 1014.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: mlir-opt --arith-unsigned-when-equivalent temp.mlir
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  mlir-opt 0x0000000105029a20 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 72
1  mlir-opt                 0x0000000105029f3c PrintStackTraceSignalHandler(void*) + 28
2  mlir-opt 0x0000000105027fc0 llvm::sys::RunSignalHandlers() + 148
3  mlir-opt 0x000000010502bba8 SignalHandler(int) + 252
4 libsystem_platform.dylib 0x000000018e5094c4 _sigtramp + 56
5 libsystem_pthread.dylib  0x000000018e4f1ee0 pthread_kill + 288
6 libsystem_c.dylib        0x000000018e42c340 abort + 168
7 libsystem_c.dylib        0x000000018e42b754 err + 0
8  mlir-opt 0x0000000106a23f98 llvm::APInt::operator[](unsigned int) const + 120
9  mlir-opt                 0x00000001069e09a8 llvm::APInt::isNegative() const + 32
10 mlir-opt 0x00000001069434f0 llvm::APInt::isNonNegative() const + 24
11 mlir-opt 0x000000010546d5bc staticallyNonNegative(mlir::DataFlowSolver&, mlir::Value) + 124
12 mlir-opt                 0x000000010546f6d0 isCmpIConvertable(mlir::DataFlowSolver&, mlir::arith::CmpIOp)::$_1::operator()(mlir::Value) const + 44
13 mlir-opt 0x000000010546f650 bool std::__1::all_of<llvm::detail::indexed_accessor_range_base<mlir::OperandRange, mlir::OpOperand*, mlir::Value, mlir::Value, mlir::Value>::iterator, isCmpIConvertable(mlir::DataFlowSolver&, mlir::arith::CmpIOp)::$_1>(llvm::detail::indexed_accessor_range_base<mlir::OperandRange, mlir::OpOperand*, mlir::Value, mlir::Value, mlir::Value>::iterator, llvm::detail::indexed_accessor_range_base<mlir::OperandRange, mlir::OpOperand*, mlir::Value, mlir::Value, mlir::Value>::iterator, isCmpIConvertable(mlir::DataFlowSolver&, mlir::arith::CmpIOp)::$_1) + 80
14 mlir-opt                 0x000000010546f5b8 bool llvm::all_of<mlir::OperandRange, isCmpIConvertable(mlir::DataFlowSolver&, mlir::arith::CmpIOp)::$_1>(mlir::OperandRange&&, isCmpIConvertable(mlir::DataFlowSolver&, mlir::arith::CmpIOp)::$_1) + 84
15 mlir-opt                 0x000000010546f530 isCmpIConvertable(mlir::DataFlowSolver&, mlir::arith::CmpIOp) + 96
16 mlir-opt                 0x000000010546f49c (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)::operator()(mlir::arith::CmpIOp) const + 44
17 mlir-opt                 0x000000010546f45c std::__1::enable_if<!std::is_invocable_v<(anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp), mlir::Operation*>, void>::type mlir::ConversionTarget::addDynamicallyLegalOp<mlir::arith::CmpIOp, (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)>((anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)&&)::'lambda'(mlir::Operation*)::operator()(mlir::Operation*) const + 56
18 mlir-opt                 0x000000010546f3fc decltype(static_cast<std::__1::enable_if<!std::is_invocable_v<(anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp), mlir::Operation*>, void>::type mlir::ConversionTarget::addDynamicallyLegalOp<mlir::arith::CmpIOp, (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)>((anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)&&)::'lambda'(mlir::Operation*)&>(fp)(static_cast<mlir::Operation*>(fp0))) std::__1::__invoke<std::__1::enable_if<!std::is_invocable_v<(anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp), mlir::Operation*>, void>::type mlir::ConversionTarget::addDynamicallyLegalOp<mlir::arith::CmpIOp, (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)>((anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)&&)::'lambda'(mlir::Operation*)&, mlir::Operation*>(std::__1::enable_if<!std::is_invocable_v<(anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp), mlir::Operation*>, void>::type mlir::ConversionTarget::addDynamicallyLegalOp<mlir::arith::CmpIOp, (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)>((anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)&&)::'lambda'(mlir::Operation*)&, mlir::Operation*&&) + 36
19 mlir-opt                 0x000000010546f3a0 std::__1::optional<bool> std::__1::__invoke_void_return_wrapper<std::__1::optional<bool>, false>::__call<std::__1::enable_if<!std::is_invocable_v<(anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp), mlir::Operation*>, void>::type mlir::ConversionTarget::addDynamicallyLegalOp<mlir::arith::CmpIOp, (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)>((anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)&&)::'lambda'(mlir::Operation*)&, mlir::Operation*>(std::__1::enable_if<!std::is_invocable_v<(anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp), mlir::Operation*>, void>::type mlir::ConversionTarget::addDynamicallyLegalOp<mlir::arith::CmpIOp, (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)>((anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)&&)::'lambda'(mlir::Operation*)&, mlir::Operation*&&) + 52
20 mlir-opt                 0x000000010546f358 std::__1::__function::__alloc_func<std::__1::enable_if<!std::is_invocable_v<(anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp), mlir::Operation*>, void>::type mlir::ConversionTarget::addDynamicallyLegalOp<mlir::arith::CmpIOp, (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)>((anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)&&)::'lambda'(mlir::Operation*), std::__1::allocator<std::__1::enable_if<!std::is_invocable_v<(anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp), mlir::Operation*>, void>::type mlir::ConversionTarget::addDynamicallyLegalOp<mlir::arith::CmpIOp, (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)>((anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)&&)::'lambda'(mlir::Operation*)>, std::__1::optional<bool> (mlir::Operation*)>::operator()(mlir::Operation*&&) + 52
21 mlir-opt                 0x000000010546dfb0 std::__1::__function::__func<std::__1::enable_if<!std::is_invocable_v<(anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp), mlir::Operation*>, void>::type mlir::ConversionTarget::addDynamicallyLegalOp<mlir::arith::CmpIOp, (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)>((anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)&&)::'lambda'(mlir::Operation*), std::__1::allocator<std::__1::enable_if<!std::is_invocable_v<(anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp), mlir::Operation*>, void>::type mlir::ConversionTarget::addDynamicallyLegalOp<mlir::arith::CmpIOp, (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)>((anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation()::'lambda'(mlir::arith::CmpIOp)&&)::'lambda'(mlir::Operation*)>, std::__1::optional<bool> (mlir::Operation*)>::operator()(mlir::Operation*&&) + 52
22 mlir-opt                 0x00000001090ec230 std::__1::__function::__value_func<std::__1::optional<bool> (mlir::Operation*)>::operator()(mlir::Operation*&&) const + 84
23 mlir-opt 0x00000001090a8b30 std::__1::function<std::__1::optional<bool> (mlir::Operation*)>::operator()(mlir::Operation*) const + 48
24 mlir-opt 0x00000001090a8824 mlir::ConversionTarget::isLegal(mlir::Operation*) const::$_12::operator()() const + 80
25 mlir-opt                 0x00000001090a866c mlir::ConversionTarget::isLegal(mlir::Operation*) const + 152
26 mlir-opt 0x00000001090a4650 computeConversionSet(llvm::iterator_range<llvm::ilist_iterator<llvm::ilist_detail::node_options<mlir::Block, true, false, void>, false, false>>, mlir::Location, llvm::SmallVectorImpl<mlir::Operation*>&, mlir::ConversionTarget*) + 320
27 mlir-opt                 0x00000001090a4714 computeConversionSet(llvm::iterator_range<llvm::ilist_iterator<llvm::ilist_detail::node_options<mlir::Block, true, false, void>, false, false>>, mlir::Location, llvm::SmallVectorImpl<mlir::Operation*>&, mlir::ConversionTarget*) + 516
28 mlir-opt                 0x00000001090aa374 (anonymous namespace)::OperationConverter::convertOperations(llvm::ArrayRef<mlir::Operation*>, llvm::function_ref<void (mlir::Diagnostic&)>) + 336
29 mlir-opt 0x00000001090aa18c mlir::applyPartialConversion(llvm::ArrayRef<mlir::Operation*>, mlir::ConversionTarget&, mlir::FrozenRewritePatternSet const&, llvm::DenseSet<mlir::Operation*, llvm::DenseMapInfo<mlir::Operation*, void>>*) + 124
30 mlir-opt                 0x00000001090aa680 mlir::applyPartialConversion(mlir::Operation*, mlir::ConversionTarget&, mlir::FrozenRewritePatternSet const&, llvm::DenseSet<mlir::Operation*, llvm::DenseMapInfo<mlir::Operation*, void>>*) + 72
31 mlir-opt 0x0000000105467574 (anonymous namespace)::ArithUnsignedWhenEquivalentPass::runOnOperation() + 364
32 mlir-opt                 0x0000000108f65400 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 512
33 mlir-opt 0x0000000108f65b04 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 364
34 mlir-opt                 0x0000000108f67e24 mlir::PassManager::runPasses(mlir::Operation*, mlir::AnalysisManager) + 108
35 mlir-opt                 0x0000000108f67bd4 mlir::PassManager::run(mlir::Operation*) + 864
36 mlir-opt 0x0000000108f4b3c8 performActions(llvm::raw_ostream&, bool, bool, std::__1::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, bool, bool) + 560
37 mlir-opt                 0x0000000108f4af18 processBuffer(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, bool, bool, bool, bool, bool, bool, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, llvm::ThreadPool*) + 524
38 mlir-opt 0x0000000108f4acc4 mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool)::$_0::operator()(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const + 204
39 mlir-opt                 0x0000000108f4abd8 mlir::LogicalResult llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool)::$_0>(long, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) + 80
40 mlir-opt                 0x000000010915e0f0 llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::operator()(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const + 96
41 mlir-opt                 0x000000010915dbd4 mlir::splitAndProcessBuffer(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) + 128
42 mlir-opt 0x0000000108f48618 mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool) + 320
43 mlir-opt                 0x0000000108f48820 mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, mlir::PassPipelineCLParser const&, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool, bool) + 296
44 mlir-opt                 0x0000000108f493e4 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 2912
45 mlir-opt                 0x00000001048546dc main + 148
46 dyld                     0x00000001235dd088 start + 516

```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsXF1P47jX_zThxhqUOC9NLrgoBbRI8IBgnl09z03kOCet_-PaWdthpvvp_7KTtE1fIDPa2YVREaI0sY_P-Z3XOCchWrO5ALjw4ksvvjojjVlIdTGTnMtaKtNo_6yQ5eri_u72CRUN4wYRg6hcLplBC2Nq7YVTD994-GbOzKIpzqlceviG85f-41Ot5H-AGg_ftPM8fFNClQUxDTNKIwjSIvQjOiEpjSZJQGkUhwENCxoVnn_l-dMnqJUsGwol-srMwgunCLVnvMRfcqY-ydqgT5-IYmbxqRFOpvLT1wWIT_Bnw14IB2GQgWV9bod7id9Nd383x8Ppmmz7a4_2ay1l2XBA3uSy_Y5Q1Qh6bv8gL_Ltp4dTD2d2COrHIOThmGqTTyLkhVfI8XhOpdCGCINKEBq8cObFl74XX3nhNbLivQA1UnnhLPjGQuyObtPD_oDYsmZIc-Ph2WaxwZc3aSowjRL9d29y1eEwuUI7iKABcopQ2EfNSic5oB65qdagDJMCVYRxKC03Hk4LZh6lZu6EF87QHMwlM3-w0ix6IHHi4QR5GF8yg-p-sGwMkhUqZCNK7eHAw9jDmZXYKqEdUoMiVlxn1-4U44Cmj7fCnC_sd84EoMAPovOWyce76-nzNdJNYU2boKKZIwXWCZCR32_qTOsGtIdvEBElYoLypgRkFoCoInqBCkK_OPi65Z8NoV9Q2SzrNZ7-uednj0rOFVkioubNEoSxTKAfsfmdVZwnWSD1allIjgRZgrZaAaEbBWglG7QgL4CcXO0g9hcoxIQ9p9Dj9PNvSCqkwTixQLwwJYXlEb0QhbzEv7v7_T5__r_7y4e72_-_fsrtFGtCRqJaMuGAteEg24iMNrL53_z2J_BjH2cE-44XOzac6pVu_3lUTBgn1mdnjDjdDFLkay61UUCWzpJmiAnT2tUlmuB2yWBryd2fHRaqkKKd9Z7ZXBD-GxElB-Xh9EWy0sPTfhGctovgo3JNKnpQrqdGDGjrtUtcoiDqyIZHyRYFSdEuc1vS47gTP0KcFXqlDSzzmhNTSbU8L1ecFVsUU4j9LKIRyjWbG0WWtSMSJy2NeJuGWSggZUdiQCOqAgAfdSPyL4zzDqROnGSLDu0p7GoihQjTMPIRKaxvOjySjsBkLIFiEkcIlHLTu2SQHgYzITissnRLRy6ItP_uhpm0d8Te0lygb5nE3TrZOINLMvAzcmRdpv8H5sSwF-jMYrNO2Nu1f1icLAqjyj9KVoqjlHHUUQ4OW12UlHFBkTbEMEo4Xw2J9Rk2nF4RQ264_Pos-Ys1TOeam9O_E97A2tbXq-JxfholVVL6iOnZsr6dSfECypCCfxcHLqi2_1oqD3UXo2z8j_JgR_cOpwH5tQQb8KJejPAYeFUS-6iQkiNtypZO3q9FOM9l5YWzjdpKMITxTm-ihG9Q5oRS0FqqXBExh7wgrrbY8PVgWRblkz07lPih7s654HVAG6MOhdcdP6aHZvaTFXE9CPgfBZOPx_FP1WLn6mkXIINotKfHRdq6zAbRtascB-znm-SxtZO-Dvkn4OwjTjwezvAnBE7HTNaVCkEympkoo7YeJUKK1VI2ui1Ra1fkdfJO7XL_26XcPxYgrteV7yPRXSWlGvEgnBrslUEXrTu4Jpwsi5J4eDKQ8jjCrwT9g7IfSACT8QjE9EAuAGG1kjNr4x4O1gOYzpl4kdSdfXEn3w94O2FqTW_q_GWGXN3cBx6zqmFreGuLmknxmag5dLUKKcurlSDLttS4gznhD_XA7Q8wMntfFnXt5r4fhrr49Nbcgf5GeMbO-C2n6K8ggnS0U4QVRSVQbo3Ew2lbbeaUaOOFs5O3nLzlvXsLTlpRqpbIjgW_ove0qn03xf4eSAy5s-gvcPKDkx98DD94Xb_pyYpPVvyhrbin2W7M9bVONr7WIf6BOC9rS59wL5zZa18vvH4lGeTWuvL2_k7-VZG6BnUwQexTdXdNCNebHYE8twZ3yi8nz_zonnnKLycr_vhWPMgv_R097I_PL3F6MHX0t9H774RzSd3RU-w_ec1H8JrZ4ZtokpK2B-ZkxCcjfu9G3KpwVP3_Fp1u3sgd2oNZJRibVcqqOHTVsp9VTvnk5IofxBVP-eRkxO-HoV8in4xr58p8oDgcl09eCG_geFb5x8Tc3N7sWzDw4aavzCdpcVC4jWj_hiCDtoW-gzU6KkLanXstDDDtXP_tRXubjvIAH2F7B-OuawiPa3OxDCcJ_fsYbrsU12adHIMpSmIfUbmsGwObJZ_BDDrY-p6rtvdr0PDHONMmXzdl7Z_a7iUTsoS8NRQ9iLaXXNIvNg4Y1XZ_tTu8W7F9-9hm-_d6mBvubOZzSGx3sz0vCee_u-cMbpc1f_125s7Gxp4aNl3UYd86i8f1zli0J0F0QvuH0I6D7kYFHteUkfmEhJPorZS95qhrLYOOE9p-XZ_WAw1NlSKrJzjQzzcsTDYz-tCZKzfL4jwMj1eMzIXUhtE-i16vDa2_R4OzY25MgnQ7eJC65qtHogwjfIPpD4nwmnJ2tHej5F8gnuCrYgYeiTGgrG13EbQdvWHgCoQGa_pHGdgffk_qW1HJV6esi8HrLetZ92uH47YhLaRJ6o-B9DgnvwZ0_RMp4dH--kn8tp_9cCXa3aTs1TeuPkurJI78bfVtx8WH-rN8qO2y05LULo52qw_U6fja1eRxHU8F4SvN9D0RZA6uPdnVQXiGdh-_aONZj-vhKsyKUPjRd4vwyGrgTMCOZdqha85e3bz_IZm2J9mlboU2yj0ZZiuk6WsDyKZY7nl_JAqEsebaO8B03xLGtWOnVTKBQSW4jcQaNKI16JHOvAdKF2L8_vGncSWf5awo3-Ls1UrPFZprQA7XeGkVFSFNUQ2qkmo5pfvZbP-BtF7J_ed-ta8XREGZ12ZYhDzLRlG4nytb_m8Hr40Q93e3TzMpDHwze5FqJ0tulxpze6n-BLrhBu256bZl91eUQxk6p-sfsQ3HlWxpFZEqSFGtJAWtL5uqco-svYbdPlaNYH82sIfVPSylWvU0D00soSINt0UdBwPHJ69rs129vfX5c5AfFDUcqHmCOdNGrfYS2Wf3zN2j42ZT6a1zdXrMogml245zz5l6qM09YeIdK-ffAft7TaJzl80Fr3_kevd9QLmr4sGTgX5vSON6m6xhFWWKjunjRxT4TlFa775QwnlB6Je8EgNBTi71c13KPSEoxfz9ILjvSdv7WNHI66YgBn_wHO-v4yofMAL2z7dF426TZkFcDktSXXNmpqJ83CmA3ofov4RtvTricBkb9C9wiPCxCilNgvRUIf3McD7cA47CsSVGmmL_w2lmiHJ_nT67eyRKgzpypfd3wj2EHa8D29hdgCgL4fglQ7eHQRek3a3YuSx9NoqJ-RNU4-Xr-ex3eaJxmwJRGkdJSdGSMDF8qUqUoHLFy73JQwI4jMvST1OkDeleQ7LeON95HdJZeRGWWZiRM7gIkkkQR2E4yc4WF2EGk3gCUVZBhieY4CBMSeHjAEIoMJ6csQvsYxxg7AdhmPiT8yCKKASYhiSKIAvAi3xYEsbPLYTnUs3P3HuHLuIsCSZnnBTAtXu3F8YCviJ30sPYi6_O1IV7s0_RzLUX-ZxpozdUDDPcvRTM6SC-Qm5XEfXbiuiPBQi02VhE1lbbFxt17-hCm3c-3RDGGwVj3uJ01ih-8eOvWnJS_zcAAP__SSNMtA">