<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63913>63913</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
mlir-opt doesn't link: `undefined reference to 'mlir::test::registerTestLowerToNVVM()'`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
build-problem,
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sylvestre
</td>
</tr>
</table>
<pre>
Started recently on linux with shared libraries:
```
FAILED: bin/mlir-opt
: && /build/source/build-llvm/./bin/clang++ -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -ffile-prefix-map=/build/source/build-llvm/tools/clang/stage2-bins=build-llvm/tools/clang/stage2-bins -ffile-prefix-map=/build/source/= -no-canonical-prefixes -Werror=mismatched-tags -O2 -DNDEBUG -g1 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--build-id -fuse-ld=gold -Wl,--export-dynamic tools/mlir/tools/mlir-opt/CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o -o bin/mlir-opt -Wl,-rpath,"\$ORIGIN/../lib:/build/source/build-llvm/tools/clang/stage2-bins/lib:" lib/libMLIRAffineAnalysis.a lib/libMLIRAffineDialect.a lib/libMLIRAffineTransforms.a lib/libMLIRAffineTransformOps.a lib/libMLIRAffineUtils.a lib/libMLIRAMDGPUDialect.a lib/libMLIRAMDGPUTransforms.a lib/libMLIRAMDGPUUtils.a lib/libMLIRAMXDialect.a lib/libMLIRAMXTransforms.a lib/libMLIRArithDialect.a lib/libMLIRArithValueBoundsOpInterfaceImpl.a lib/libMLIRArithTransforms.a lib/libMLIRArithUtils.a lib/libMLIRArmNeonDialect.a lib/libMLIRArmSMEDialect.a lib/libMLIRArmSMETransforms.a lib/libMLIRArmSVEDialect.a lib/libMLIRArmSVETransforms.a lib/libMLIRAsyncDialect.a lib/libMLIRAsyncTransforms.a lib/libMLIRBufferizationDialect.a lib/libMLIRBufferizationTransformOps.a lib/libMLIRBufferizationTransforms.a lib/libMLIRComplexDialect.a lib/libMLIRControlFlowDialect.a lib/libMLIRDLTIDialect.a lib/libMLIREmitCDialect.a lib/libMLIRFuncDialect.a lib/libMLIRFuncTransforms.a lib/libMLIRGPUDialect.a lib/libMLIRGPUTransforms.a lib/libMLIRGPUTransformOps.a lib/libMLIRIndexDialect.a lib/libMLIRIRDL.a lib/libMLIRLinalgDialect.a lib/libMLIRLinalgTransformOps.a lib/libMLIRLinalgTransforms.a lib/libMLIRLinalgUtils.a lib/libMLIRLLVMIRTransforms.a lib/libMLIRLLVMDialect.a lib/libMLIRNVVMDialect.a lib/libMLIRROCDLDialect.a lib/libMLIRMathDialect.a lib/libMLIRMathTransforms.a lib/libMLIRMemRefDialect.a lib/libMLIRMemRefTransformOps.a lib/libMLIRMemRefTransforms.a lib/libMLIRMemRefUtils.a lib/libMLIRMLProgramDialect.a lib/libMLIRNVGPUDialect.a lib/libMLIRNVGPUUtils.a lib/libMLIRNVGPUTransformOps.a lib/libMLIRNVGPUTransforms.a lib/libMLIROpenACCDialect.a lib/libMLIROpenMPDialect.a lib/libMLIRPDLDialect.a lib/libMLIRPDLInterpDialect.a lib/libMLIRQuantDialect.a lib/libMLIRQuantUtils.a lib/libMLIRSCFDialect.a lib/libMLIRSCFTransformOps.a lib/libMLIRSCFTransforms.a lib/libMLIRSCFUtils.a lib/libMLIRShapeDialect.a lib/libMLIRShapeOpsTransforms.a lib/libMLIRSparseTensorDialect.a lib/libMLIRSparseTensorTransforms.a lib/libMLIRSparseTensorPipelines.a lib/libMLIRSparseTensorUtils.a lib/libMLIRSPIRVDialect.a lib/libMLIRSPIRVModuleCombiner.a lib/libMLIRSPIRVConversion.a lib/libMLIRSPIRVTransforms.a lib/libMLIRSPIRVUtils.a lib/libMLIRTensorDialect.a lib/libMLIRTensorInferTypeOpInterfaceImpl.a lib/libMLIRTensorTilingInterfaceImpl.a lib/libMLIRTensorTransforms.a lib/libMLIRTensorTransformOps.a lib/libMLIRTensorUtils.a lib/libMLIRTosaDialect.a lib/libMLIRTosaTransforms.a lib/libMLIRTransformDialect.a lib/libMLIRTransformPDLExtension.a lib/libMLIRTransformDialectTransforms.a lib/libMLIRTransformDialectUtils.a lib/libMLIRVectorDialect.a lib/libMLIRVectorTransforms.a lib/libMLIRVectorTransformOps.a lib/libMLIRVectorUtils.a lib/libMLIRX86VectorDialect.a lib/libMLIRX86VectorTransforms.a lib/libMLIRTestDynDialect.a lib/libMLIRTosaTestPasses.a lib/libMLIRAffineToStandard.a lib/libMLIRAMDGPUToROCDL.a lib/libMLIRArithAttrToLLVMConversion.a lib/libMLIRArithToLLVM.a lib/libMLIRArithToSPIRV.a lib/libMLIRArmNeon2dToIntr.a lib/libMLIRAsyncToLLVM.a lib/libMLIRBufferizationToMemRef.a lib/libMLIRComplexToLLVM.a lib/libMLIRComplexToLibm.a lib/libMLIRComplexToSPIRV.a lib/libMLIRComplexToStandard.a lib/libMLIRControlFlowToLLVM.a lib/libMLIRControlFlowToSPIRV.a lib/libMLIRFuncToLLVM.a lib/libMLIRFuncToSPIRV.a lib/libMLIRGPUToGPURuntimeTransforms.a lib/libMLIRGPUToNVVMTransforms.a lib/libMLIRGPUToROCDLTransforms.a lib/libMLIRGPUToSPIRV.a lib/libMLIRGPUToVulkanTransforms.a lib/libMLIRIndexToLLVM.a lib/libMLIRLinalgToLLVM.a lib/libMLIRLinalgToStandard.a lib/libMLIRLLVMCommonConversion.a lib/libMLIRMathToFuncs.a lib/libMLIRMathToLibm.a lib/libMLIRMathToLLVM.a lib/libMLIRMathToSPIRV.a lib/libMLIRMemRefToLLVM.a lib/libMLIRMemRefToSPIRV.a lib/libMLIRNVGPUToNVVM.a lib/libMLIRNVVMToLLVM.a lib/libMLIROpenACCToSCF.a lib/libMLIROpenMPToLLVM.a lib/libMLIRPDLToPDLInterp.a lib/libMLIRReconcileUnrealizedCasts.a lib/libMLIRSCFToControlFlow.a lib/libMLIRSCFToGPU.a lib/libMLIRSCFToOpenMP.a lib/libMLIRSCFToSPIRV.a lib/libMLIRShapeToStandard.a lib/libMLIRSPIRVToLLVM.a lib/libMLIRTensorToLinalg.a lib/libMLIRTensorToSPIRV.a lib/libMLIRTosaToArith.a lib/libMLIRTosaToLinalg.a lib/libMLIRTosaToSCF.a lib/libMLIRTosaToTensor.a lib/libMLIRVectorToLLVM.a lib/libMLIRVectorToGPU.a lib/libMLIRVectorToSCF.a lib/libMLIRVectorToSPIRV.a lib/libMLIRFuncInlinerExtension.a lib/libMLIRFuncAllExtensions.a lib/libMLIRTestFuncToLLVM.a lib/libMLIRAffineTransformsTestPasses.a lib/libMLIRArithTestPasses.a lib/libMLIRBufferizationTestPasses.a lib/libMLIRControlFlowTestPasses.a lib/libMLIRDLTITestPasses.a lib/libMLIRFuncTestPasses.a lib/libMLIRGPUTestPasses.a lib/libMLIRLinalgTestPasses.a lib/libMLIRLoopLikeInterfaceTestPasses.a lib/libMLIRMathTestPasses.a lib/libMLIRMemRefTestPasses.a lib/libMLIRNVGPUTestPasses.a lib/libMLIRSCFTestPasses.a lib/libMLIRShapeTestPasses.a lib/libMLIRSPIRVTestPasses.a lib/libMLIRTensorTestPasses.a lib/libMLIRTestAnalysis.a lib/libMLIRTestDialect.a lib/libMLIRTestDynDialect.a lib/libMLIRTestIR.a lib/libMLIRTestOneToNTypeConversionPass.a lib/libMLIRTestPass.a lib/libMLIRTestPDLL.a lib/libMLIRTestReducer.a lib/libMLIRTestRewrite.a lib/libMLIRTestTransformDialect.a lib/libMLIRTestTransforms.a lib/libMLIRTilingInterfaceTestPasses.a lib/libMLIRVectorTestPasses.a lib/libMLIRTestVectorToSPIRV.a lib/libMLIRLLVMTestPasses.a lib/libMLIRAffineAnalysis.a lib/libMLIRAnalysis.a lib/libMLIRCastInterfaces.a lib/libMLIRDialect.a lib/libMLIROptLib.a lib/libMLIRParser.a lib/libMLIRPass.a lib/libMLIRTransforms.a lib/libMLIRTransformUtils.a lib/libMLIRSupport.a lib/libMLIRIR.a lib/libMLIRSparseTensorTransforms.a lib/libMLIRSparseTensorUtils.a lib/libMLIRAMDGPUToROCDL.a lib/libMLIRAMDGPUUtils.a lib/libMLIRAMDGPUDialect.a lib/libMLIRMemRefToSPIRV.a lib/libMLIRSPIRVSerialization.a lib/libMLIRSPIRVBinaryUtils.a lib/libMLIROpenACCDialect.a lib/libMLIROpenMPDialect.a lib/libMLIRSPIRVUtils.a lib/libMLIRArithToSPIRV.a lib/libMLIRFuncToSPIRV.a lib/libMLIRTosaTransforms.a lib/libMLIRTosaDialect.a lib/libMLIRQuantUtils.a lib/libMLIRQuantDialect.a lib/libMLIRNVGPUUtils.a lib/libMLIRFuncInlinerExtension.a lib/libMLIRGPUToGPURuntimeTransforms.a lib/libMLIRAsyncToLLVM.a lib/libMLIRNVVMToLLVMIRTranslation.a lib/libMLIRGPUTransforms.a lib/libMLIRAsyncDialect.a lib/libMLIRBuiltinToLLVMIRTranslation.a lib/libMLIRExecutionEngineUtils.a lib/libMLIRGPUToLLVMIRTranslation.a lib/libMLIRROCDLToLLVMIRTranslation.a lib/libMLIRROCDLDialect.a lib/libMLIRLLVMToLLVMIRTranslation.a lib/libMLIRMathTransforms.a lib/libMLIRNVGPUTransforms.a lib/libMLIRShapeOpsTransforms.a lib/libMLIRShapeDialect.a lib/libMLIRSPIRVModuleCombiner.a lib/libMLIRTransformPDLExtension.a lib/libMLIRTransformDialectTransforms.a lib/libMLIRTransformDialect.a lib/libMLIRTransformDialectUtils.a lib/libMLIRTestDialect.a lib/libMLIRDerivedAttributeOpInterface.a lib/libMLIRReduce.a lib/libMLIRVectorToSPIRV.a lib/libMLIRSPIRVConversion.a lib/libMLIRSPIRVDialect.a lib/libMLIRLinalgTransforms.a lib/libMLIRSCFTransforms.a lib/libMLIRTensorTilingInterfaceImpl.a lib/libMLIRLinalgUtils.a lib/libMLIRTensorTransforms.a lib/libMLIRTensorUtils.a lib/libMLIRMemRefTransforms.a lib/libMLIRAffineTransforms.a lib/libMLIRSCFUtils.a lib/libMLIRArithTransforms.a lib/libMLIRFuncTransforms.a lib/libMLIRNVGPUDialect.a lib/libMLIRFuncToLLVM.a lib/libMLIRArithToLLVM.a lib/libMLIRControlFlowToLLVM.a lib/libMLIRIndexToLLVM.a lib/libMLIRIndexDialect.a lib/libMLIRLinalgToLLVM.a lib/libMLIRAffineToStandard.a lib/libMLIRMathToLLVM.a lib/libMLIRArithAttrToLLVMConversion.a lib/libMLIRMemRefToLLVM.a lib/libMLIRReconcileUnrealizedCasts.a lib/libMLIRSCFToControlFlow.a lib/libMLIRVectorToLLVM.a lib/libMLIRAMXTransforms.a lib/libMLIRAMXDialect.a lib/libMLIRArmNeonDialect.a lib/libMLIRArmSMETransforms.a lib/libMLIRArmSMEDialect.a lib/libMLIRArmSVETransforms.a lib/libMLIRArmSVEDialect.a lib/libMLIRX86VectorTransforms.a lib/libMLIRX86VectorDialect.a lib/libMLIRLLVMCommonConversion.a lib/libMLIRTargetLLVMIRExport.a lib/libMLIRLLVMIRTransforms.a lib/libMLIRNVVMDialect.a lib/libMLIRTranslateLib.a lib/libMLIRVectorToSCF.a lib/libMLIRLLVMDialect.a lib/libMLIRVectorTransforms.a lib/libMLIRAffineUtils.a lib/libMLIRBufferizationTransforms.a lib/libMLIRGPUDialect.a lib/libMLIRDLTIDialect.a lib/libMLIRLinalgDialect.a lib/libMLIRMathDialect.a lib/libMLIRTilingInterface.a lib/libMLIRMemRefUtils.a lib/libMLIRVectorUtils.a lib/libMLIRAffineAnalysis.a lib/libMLIRSCFDialect.a lib/libMLIRBufferizationDialect.a lib/libMLIRSparseTensorDialect.a lib/libMLIRControlFlowDialect.a lib/libMLIRFuncDialect.a lib/libMLIRVectorDialect.a lib/libMLIRTensorDialect.a lib/libMLIRAffineDialect.a lib/libMLIRMemRefDialect.a lib/libMLIRComplexDialect.a lib/libMLIRShapedOpInterfaces.a lib/libMLIRValueBoundsOpInterface.a lib/libMLIRParallelCombiningOpInterface.a lib/libMLIRDestinationStyleOpInterface.a lib/libMLIRMaskableOpInterface.a lib/libMLIRMaskingOpInterface.a lib/libMLIRDialectUtils.a lib/libMLIRArithUtils.a lib/libMLIRArithDialect.a lib/libMLIRCastInterfaces.a lib/libMLIRInferIntRangeCommon.a lib/libMLIRVectorInterfaces.a lib/libMLIRTransforms.a lib/libMLIRTransformUtils.a lib/libMLIRRewrite.a lib/libMLIRPDLToPDLInterp.a lib/libMLIRPDLInterpDialect.a lib/libMLIRPDLDialect.a lib/libMLIRMemorySlotInterfaces.a lib/libMLIRCopyOpInterface.a lib/libMLIRRuntimeVerifiableOpInterface.a lib/libMLIRIRDL.a lib/libMLIRDialect.a lib/libMLIRParser.a lib/libMLIRBytecodeReader.a lib/libMLIRAsmParser.a lib/libMLIRBytecodeWriter.a lib/libMLIRBytecodeOpInterface.a lib/libMLIRDebug.a lib/libMLIRObservers.a lib/libMLIRPluginsLib.a lib/libMLIRPass.a lib/libMLIRAnalysis.a lib/libMLIRCallInterfaces.a lib/libMLIRControlFlowInterfaces.a lib/libMLIRInferTypeOpInterface.a lib/libMLIRSideEffectInterfaces.a lib/libMLIRPresburger.a lib/libMLIRLoopLikeInterface.a lib/libMLIRViewLikeInterface.a lib/libMLIRInferIntRangeInterface.a lib/libMLIRDataLayoutInterfaces.a lib/libMLIRIR.a lib/libMLIRSupport.a lib/libLLVM-17.so.1 && :
build-llvm/tools/clang/stage2-bins/mlir/tools/mlir-opt/mlir-opt.cpp:203: error: undefined reference to 'mlir::test::registerTestLowerToNVVM()'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0W99S47jSfxpz4xIVnJ0AF1yEhEylKgz5Egb2u9qS7bajM7LkI8lA9ulPSU5CYqsVds-eqi128K-7JbVarf4jqNasFAB30bf76Nv0gjZmI9Wd3vI30EbBRSrz7d3aUGUgjxVkIAzfxlLEnInmI35nZhPrDVWQx5yliioGOhqOo8E0Goyj0WD3X_ur-zkbzxcP02g4jlMmomRWcaaIrE28IxqO4ygZRckojpJZ2jCeR8lMy0ZlsP9AOH-romR2aT84IRmnooyS-yi5j0mhDc1-kVpJA5mRimijpChj8lpIVVETk1dQSqpoOG0_EA1Zo5jZxuRVSNKIRkNOMllVVOSEMwGEqrKpQFjenBoghlUQk-kfs6fV83z2_3-sn36uJg_RcJrEpFjOJzEphCQaKioMywgTBlQtNTNMipgUb0yzlHFmtoQJO4AmG5bnII7mdjTO4VsjyoaqHHJC3yjjdCdDwHtMXinnlvTDKHqykJoqWoEBFZPXd8UMWIUwUeqYvGZUG_LvhlrOimnNREkKBjwnTDDDKGd_gtIxqSF3K2kFcylK98NKaNV-e2MVVlND3ATs0llMXllVc5YxQwrKudko2ZQbyyTfQEFO9Dsz2YbkUNCGm1a4kPCRQW2I2dbgPgnyxpRpKCe5kXYVOXAwQDyIbsoStCFWvmK55W8XSzIp3kBpp3-7VA40t9-ZyEEY2m7Ma2ZoTiq6TYE0Qjd1LZ3lkyJntBRSG5ZpkkluByuKRmSWz9qP_b-2dNTQ498LxoHUCgr2QSpaR8PpWbM2UnL9adQzbWgJCUmZ0NFw-lXSL48dDacxEZJkVEjBMsp3LKCPDK9iuqIm20BODLWW85TEZPpj-nD_83tMyquYvPIomZB7va1SyVlG9srRe-jPKJko4EruP5B2Kcyqt9FAeB4Np6XkeRwfSODD7gDJt4JWLIv367VO42j5ex8SJbPJI_0FM8bh-Ptl7sgPv2Z1fSljIrsuaDeqqqnZRMkkSpLo2yRKfntazb_Pf1iPY10OZ6l1cf_NNn4KSazfbH9_XMxX46JgAsaC8q1m-pLGPnjKKIfMXFIf-Kyo0NavYdwHgqda-0X8NIx7uB-n35c_sbEdGBrbEewld6DfP6X2oBOZp6BiZoNyWvCF8gbuZSNy_VTPrQ8uaAbzquZeWaHpW9w_e1X9ACnweVTrxwdMaw4MDlutX0LcL0FuvRUZxmyxAO99UxSg2J_OMSIyTmg6ZvUVyp4uJ7KqOXxgupxIYZTkMy7fkRlNF89zjPuhYmaCgbMG1ZSFAorCz0T4QByjnpM4FzmuCLvQ3scFE5SXyFxaMLhHHZLejFrc7xsWi5fH-SrAu3h5xBbz4wXHVk-T6QJZ0iPFT7_F8Nk8QrWCAuV1aGhvOhR9dbQEXnfxuFgqWSpa4erALcph_h1wUGjSpwR9AU81iPFkgoxs0cclNucluknL6cL53Rpj_b-GCoMwO8y_3PVkhjCtJ7OgmR_jPSWtJzNkvA2tsXvXYU-1Dih3XVOl4RmElgqTckTyRUlLVoNLHkKykPUs56sXbCYWe5R5w2Eiq5QJUH7-ySGk9ooIrcLi3vPR1ZEPnYsC1PPWKj14qe-UyTgTZZfQS4naRQf32dWptk8hqSm6IqlpYNw9grLvCZbTxcOHAeHbja6UwMZ0Sb3reXFpNTalFsXX1MF9umxJvGP_fjMKD38gCO2mNtMtGrK5LQFtllTr_tnaBdFybajIqcqRSPdZurvLG2eOjVHP0t6JJyfIF5E6Kn-wKt0h8oWMNh5N8mc5F0b547692FCUJttbDInREBGfKEsrlNU_80_4U7VY_IcOf0SxH6UfzfmZW8jL5Tb0-_LnqhGGVaEcy1HakAY3v0_rOCcHn8tLw39REeB38aPffHaBnl8JexDbg9Zqq0qKgO268EtaffbjHwftrMML-WbVQl517IIxhG8HejnbiMhtljcoRWTuAqVnuZ7M_GESwricLp7lISDqsq4gkyJjHH4KBa7ulk-oNv4ARh4Zui8AsrbqZ2xn6Me8WnLRTcDdtVe919B2t6ZsbQq7dP3DOicsnafzO2hUqgM9e9MC7aDYpeVdxh7z6XSPecY7QF5nZw_H3JV-FXpvW5ox5wfcF3Roc-LRfFfVwUmcXGq-KwW99E5vBlzMsf9FhdkkPSDDrQdltkcW5915L5R7IWW9YL_gEA0GZDmfg0raeRacvfUuKL89cDhze-hwZnfmcPbdyUL5LYLWGF105M8MzgVOoM185WN6shHTDxuyf94admpeETug_3266Fc9LLCCvMk8SUqLuZaHT9754PqYqD-l07wisB07TxDcjrC3sKf7XEiKF40_gdPDSrU5TL_PhmnlqTYLlvYSfZtx9rfAv8nn8x0ka20bMp562D-QTSO16dNg3ocGGM_UmJAb135cg3LdN-dx_ZfuPRNUbb2j94o5vjAllP4jLYBQ4hEIn3tJbig_PoECJaBO5cjjfb2qQS7er8f7X06nPmPInWHz_Wb2xvp7Nfz7hnHDhH-MU9KHD8gaizyI8qjD01_0eVFt5nJ-XZ3arcehnZfRq-P67li8mveFwlyorveFOtj_uv5yTpT_aASu8Cko9gb52BjF0sYcl9D6O-3u1b8W136lMIgaxZkORLd06w16vNU-zzCY5r5SCPTzetoCwXDcl4QhLcZwc7LXoeofklDfC3FfgQLU-UJMoPwQ7Gx1ahM-_eGp6EkBob-WL5XdOuWEznn4h1L0TrbZjRxCPe9Ar7zbiO6i51vNwUZ1uNUcalT7S7IIDdbA_Erd6ZmqEkx7qzx87ELFnphOANq_tEO-l1MDbfiLeEVXCOgPisg8q5fTFxmBpPzvdKhD7fJgOznUe-14YH_i7Peggbr_mRwH7wciDxnwPACR43180HemwX0Ot7WCz3rCmQQ65-B7Chf85EcRQL9X431A48n9KOfA2yiJiTJAOwVtmHCbsTZbHow_Hqn-RdMuTY-kN6A3j8Vv1kCug-k1nDm7_uRcmBUVJbROy28PARl_O0dGCh694nMP7vbpu3jAAqXarrk0uB1NZL0NRpptnvUCihXszJZ7H7-gLxP2ZYlTn7A1kMkcVkBzT1A_1lWY79VquM-3h4Pmnzb9mvVTqkHZS60_f96UTGhvwcVTWUH944RyHtqeg287Z9adtnsvRGc5PBQFZKHzsVSg00aVfQX36rP9K4LBe5cCP3wBr0ANXdCtbAJW68pKnfV5KlD2eidX15daXl4d3q7v38D_hSeh-KPW44er0XCcDIbRcBzv3uaO40bkYO-IPFZQgAKRQWxkHCXXTuRwHA3HBrRp_6WgZNqAq0cu5DuotgUWJTdRchsl1-28j17Un4zFmfgFKt49jo8Lyjjk7d8BwAczsbX_2KrhptEQkzc7EQ0QM_EmM-f27Sinfx5wkd8N89vhLb2Au6vRze3oanAzHF1s7q6v0sFtUozyJKWDfHR9fX39LRsNKL3Kbm6Torhgd8kgGQ6ur66vRslgOLqkGdAkyZM8u76FNB1Evw2gooxf2h24lKq8YFo3cDca3l4NLzhNgWv3xw9J0u5UrWTKoYqSpH0A3G5KEn2bXqg7K4SkTamj3wac2cj_INYww-Hu8JI4l6BFlFwbpzD3Rw2jwT-8T6PBRaP43caYWrcPkqNkVjKzadLLTFp725mdm3at5L8gs9bkNGAtzCnhPwEAAP__ofEhTQ">